class Threaded implements Collectable, Traversable, Countable, ArrayAccess (View source)

Threaded objects form the basis of pthreads ability to execute user code in parallel; they expose synchronization methods and various useful interfaces.
Threaded objects, most importantly, provide implicit safety for the programmer; all operations on the object scope are safe.

Properties

protected Worker $worker

Worker object in which this Threaded is being executed

Methods

void
addRef()

(PECL pthreads >= 3.0.0)
Increments the internal number of references to a Threaded object

array
chunk(int $size, bool $preserve = false)

(PECL pthreads >= 2.0.0)
Fetches a chunk of the objects property table of the given size, optionally preserving keys

int
count()

(PECL pthreads >= 2.0.0)
Returns the number of properties for this object

void
delRef()

(PECL pthreads >= 3.0.0)
Decrements the internal number of references to a Threaded object

static bool
extend(string $class)

(PECL pthreads >= 2.0.8)
Makes thread safe standard class at runtime

int
getRefCount()

(PECL pthreads >= 3.0.0)
Retrieves the internal number of references to a Threaded object

bool
isRunning()

(PECL pthreads >= 2.0.0)
Tell if the referenced object is executing

bool
isGarbage()

(PECL pthreads >= 3.1.0)

bool
isTerminated()

(PECL pthreads >= 2.0.0)
Tell if the referenced object was terminated during execution; suffered fatal errors, or threw uncaught exceptions

bool
merge($from, $overwrite = true)

(PECL pthreads >= 2.0.0)
Merges data into the current object

bool
notify()

(PECL pthreads >= 2.0.0)
Send notification to the referenced object

bool
notifyOne()

(PECL pthreads >= 3.0.0)
Send notification to the referenced object. This unblocks at least one of the blocked threads (as opposed to unblocking all of them, as seen with Threaded::notify()).

mixed
pop()

(PECL pthreads >= 2.0.0)
Pops an item from the objects property table

void
run()

(PECL pthreads >= 2.0.0)
The programmer should always implement the run method for objects that are intended for execution.

mixed
shift()

(PECL pthreads >= 2.0.0)
Shifts an item from the objects property table

mixed
synchronized(Closure $block, mixed ...$_)

(PECL pthreads >= 2.0.0)
Executes the block while retaining the referenced objects synchronization lock for the calling context

bool
wait(int $timeout = 0)

(PECL pthreads >= 2.0.0)
Will cause the calling context to wait for notification from the referenced object

bool
offsetExists(TKey $offset)

No description

mixed
offsetGet(TKey $offset)

No description

void
offsetSet(TKey $offset, TValue $value)

No description

void
offsetUnset(TKey $offset)

No description

Details

void addRef()

(PECL pthreads >= 3.0.0)
Increments the internal number of references to a Threaded object

Return Value

void

array chunk(int $size, bool $preserve = false)

(PECL pthreads >= 2.0.0)
Fetches a chunk of the objects property table of the given size, optionally preserving keys

Parameters

int $size

The number of items to fetch

bool $preserve

[optional]

Preserve the keys of members, by default false

Return Value

array

An array of items from the objects property table

int count()

(PECL pthreads >= 2.0.0)
Returns the number of properties for this object

Return Value

int

The custom count as an integer.

The return value is cast to an integer.

void delRef()

(PECL pthreads >= 3.0.0)
Decrements the internal number of references to a Threaded object

Return Value

void

static bool extend(string $class)

(PECL pthreads >= 2.0.8)
Makes thread safe standard class at runtime

Parameters

string $class

The class to extend

Return Value

bool

A boolean indication of success

int getRefCount()

(PECL pthreads >= 3.0.0)
Retrieves the internal number of references to a Threaded object

Return Value

int

The number of references to the Threaded object

bool isRunning()

(PECL pthreads >= 2.0.0)
Tell if the referenced object is executing

Return Value

bool

A boolean indication of state

bool isGarbage()

(PECL pthreads >= 3.1.0)

Return Value

bool

Whether this object is garbage or not

See also

Collectable::isGarbage

bool isTerminated()

(PECL pthreads >= 2.0.0)
Tell if the referenced object was terminated during execution; suffered fatal errors, or threw uncaught exceptions

Return Value

bool

A boolean indication of state

bool merge($from, $overwrite = true)

(PECL pthreads >= 2.0.0)
Merges data into the current object

Parameters

$from
$overwrite

Return Value

bool

A boolean indication of success

bool notify()

(PECL pthreads >= 2.0.0)
Send notification to the referenced object

Return Value

bool

A boolean indication of success

bool notifyOne()

(PECL pthreads >= 3.0.0)
Send notification to the referenced object. This unblocks at least one of the blocked threads (as opposed to unblocking all of them, as seen with Threaded::notify()).

Return Value

bool

A boolean indication of success

mixed pop()

(PECL pthreads >= 2.0.0)
Pops an item from the objects property table

Return Value

mixed

The last item from the objects property table

void run()

(PECL pthreads >= 2.0.0)
The programmer should always implement the run method for objects that are intended for execution.

Return Value

void

mixed shift()

(PECL pthreads >= 2.0.0)
Shifts an item from the objects property table

Return Value

mixed

The first item from the objects property table

mixed synchronized(Closure $block, mixed ...$_)

(PECL pthreads >= 2.0.0)
Executes the block while retaining the referenced objects synchronization lock for the calling context

Parameters

Closure $block

The block of code to execute

mixed ...$_

[optional]

Variable length list of arguments to use as function arguments to the block

Return Value

mixed

The return value from the block

bool wait(int $timeout = 0)

(PECL pthreads >= 2.0.0)
Will cause the calling context to wait for notification from the referenced object

Parameters

int $timeout

[optional]

An optional timeout in microseconds

Return Value

bool

A boolean indication of success

bool offsetExists(TKey $offset)

No description

Parameters

TKey $offset

An offset to check for.

Return Value

bool

true on success or false on failure.

The return value will be casted to boolean if non-boolean was returned.

See also

ArrayAccess::offsetExists

mixed offsetGet(TKey $offset)

No description

Parameters

TKey $offset

The offset to retrieve.

Return Value

mixed

Can return all value types.

See also

ArrayAccess::offsetGet

void offsetSet(TKey $offset, TValue $value)

No description

Parameters

TKey $offset

The offset to assign the value to.

TValue $value

The value to set.

Return Value

void

See also

ArrayAccess::offsetSet

void offsetUnset(TKey $offset)

No description

Parameters

TKey $offset

The offset to unset.

Return Value

void

See also

ArrayAccess::offsetUnset