# 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
public start ( ) : void
public taskCount ( ) : 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