Pthreads écrase la fonctionalité des modificateurs de méthodes protégées et privées afin de founir une fonctionalité plus conforme aux objets multi-threads. Pthreads applique cette fonctionalité à tous les Threads, ainsi qu'aux objets Worker et Stackable depuis leurs créations.
Exemple #1 Exemple de méthode protégée : les méthodes protégées peuvent seulement être exécutées par un seul Thread à la fois.
<?php
class ExampleThread extends Thread {
public function run() {
/* Code du thread */
if ($this->synchronized()) {
}
}
protected function synchronized() {
/* méthode de synchronisation */
}
}
$thread = new ExampleThread();
if ($thread->start()) {
$thread->synchronized();
}
?>
Exemple #2 Exemple de méthode privée : les méthodes privées ne peuvent être exécutées par le Thread, le Worker ou le Stackable que pendant leur exécution
<?php
class ExampleThread extends Thread {
public function run() {
/* Code du thread */
if ($this->insideonly()) {
}
}
private function insideonly() {
/* méthode privée */
}
}
$thread = new ExampleThread();
if ($thread->start()) {
$thread->insideonly();
}
?>