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();
}
?>
← Collectable::setGarbage
Pool →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com