# The Thread class

(PECL pht >= 0.0.1)

## Introduction

The pht\Thread class abstracts away a native thread. It has an internal task queue, where the methods pht\Thread::addClassTask(), pht\Thread::addFunctionTask(), and pht\Thread::addFileTask() push new tasks onto this queue. Invoking the pht\Thread::start() method will cause the new thread to be spawned, where it will then begin working through the task queue. A thread may be reused for any number of tasks.

## Class synopsis

pht\Thread {
/* Methods */
public addClassTask ( string `$className` [, mixed `$...ctorArgs` ] ) : void
public addFileTask ( string `$fileName` [, mixed `$...globals` ] ) : void
public addFunctionTask ( callable `$func` [, mixed `$...funcArgs` ] ) : void
public join ( void ) : void
public start ( void ) : void
public taskCount ( void ) : int
}

## Table of Contents

- pht\Thread::addClassTask — Class threading
- pht\Thread::addFileTask — File threading
- pht\Thread::addFunctionTask — Function threading
- pht\Thread::join — Joins a thread
- pht\Thread::start — Starts the new thread
- pht\Thread::taskCount — Gets a thread's task count