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 objets Threaded 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 exclusive() {
/* méthode de synchronisation */
}
}
$thread = new ExampleThread();
if ($thread->start()) {
$thread->exclusive();
}
?>
Exemple #2 Exemple de méthode privée : les méthodes privées ne peuvent être exécutées par l'objet Threaded 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();
}
?>