The Volatile classIntroductionThe Volatile class is new to pthreads v3. Its introduction is a consequence of the new immutability semantics of Threaded members of Threaded classes. The Volatile class enables for mutability of its Threaded members, and is also used to store PHP arrays in Threaded contexts. Class synopsisVolatile
class Volatile
extends
Threaded
implements
Collectable, Traversable {
/* Inherited methods */
public array Threaded::chunk(int
$size , bool $preserve )public int Threaded::count()
public bool Threaded::extend(string
$class )public bool Threaded::isRunning()
public bool Threaded::isTerminated()
public bool Threaded::merge(mixed
$from , bool $overwrite = ?)public bool Threaded::notify()
public bool Threaded::notifyOne()
public bool Threaded::pop()
public void Threaded::run()
public mixed Threaded::shift()
public mixed Threaded::synchronized(Closure
$block , mixed ...$args )public bool Threaded::wait(int
}$timeout = ?)ExamplesExample #1 New immutability semantics of Threaded
The above example will output something similar to: RuntimeException: Threaded members previously set to Threaded objects are immutable, cannot overwrite data in %s:%d Example #2 Volatile use-case
The above example will output something similar to: object(stdClass)#3 (0) { } |