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