pthreads は、メソッドのアクセス修飾子 protected および private の機能を上書きし、 マルチスレッド環境のオブジェクトにより適した機能を追加します。 pthreads は、すべての Threaded オブジェクトの作成時にこの機能追加を行います。
例1 protected メソッドの例。protected メソッドは、同時に複数のスレッドから実行できないようにする
<?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();
}
?>
例2 private メソッドの例。private メソッドは、その Threaded オブジェクトの実行中にしか実行されないようにする
<?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();
}
?>