Modificateurs de méthodes

Avertissement

Ces sémantiques ne s'appliquent qu'aux pthreads v2. Ils ont été supprimés dans pthreads v3.

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