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.

  1. <?php
  2. class ExampleThread extends Thread {
  3. public function run() {
  4. /* Code du thread */
  5. if ($this->synchronized()) {
  6.  
  7. }
  8. }
  9.  
  10. protected function exclusive() {
  11. /* méthode de synchronisation */
  12. }
  13. }
  14.  
  15. $thread = new ExampleThread();
  16. if ($thread->start()) {
  17. $thread->exclusive();
  18. }
  19. ?>

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

  1. <?php
  2. class ExampleThread extends Thread {
  3. public function run() {
  4. /* Code du thread */
  5. if ($this->insideonly()) {
  6.  
  7. }
  8. }
  9.  
  10. private function insideonly() {
  11. /* méthode privée */
  12. }
  13. }
  14.  
  15. $thread = new ExampleThread();
  16. if ($thread->start()) {
  17. $thread->insideonly();
  18. }
  19. ?>
LoadingChargement en cours