pthreads は、メソッドのアクセス修飾子 protected および private の機能を上書きし、 マルチスレッド環境のオブジェクトにより適した機能を追加します。 pthreads は、Thread や Worker そして Stackable のオブジェクトを作るときにこの機能追加を行います。
例1 protected メソッドの例。protected メソッドは、同時に複数のスレッドから実行できないようにする
<?php
class ExampleThread extends Thread {
public function run() {
/* thread code */
if ($this->synchronized()) {
}
}
protected function synchronized() {
/* synchronized method */
}
}
$thread = new ExampleThread();
if ($thread->start()) {
$thread->synchronized();
}
?>
例2 private メソッドの例。private メソッドは、その Thread、Worker あるいは Stackable の実行中にしか実行されないようにする
<?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();
}
?>