pthreads
PHP Manual

Modificateurs de méthodes

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();
}
?>

pthreads
PHP Manual