Method Modifiers
Warning
These semantics are only applicable to pthreads v2 - they have been removed in pthreads v3.
pthreads overrides the functionality of the protected and private method modifiers in order to provide functionality more suited to multi-threaded objects. pthreads applies this functionality to all Threaded objects from creation.
Example #1 protected method example: protected methods can only be executed by one Thread at a time.
<?php class ExampleThread extends Thread { public function run() { /* thread code */ if ($this->synchronized()) { } } protected function exclusive() { /* synchronized method */ } } $thread = new ExampleThread(); if ($thread->start()) { $thread->exclusive(); } ?>
Example #2 private method example: private methods may only be executed by the Threaded object during execution
<?php class ExampleThread extends Thread { public function run() { /* thread code */ if ($this->insideonly()) { } } private function insideonly() { /* private method */ } } $thread = new ExampleThread(); if ($thread->start()) { $thread->insideonly(); } ?>
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/pthreads.modifiers.php