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

The methods return value, if used, will be ignored

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

No value is returned.

See also

ArrayAccess::offsetSet

void offsetUnset(TKey $offset)

No description

Parameters

TKey $offset

The offset to unset.

Return Value

void

No value is returned.

See also

ArrayAccess::offsetUnset