[Php-it] php e i thread

Andrea Franceschini therealmorpheu5 at gmail.com
Thu Feb 1 23:12:18 CET 2007


L'argomento è stato trattato abbastanza estesamente e mi pare di aver
capito che l'unica "soluzione" (se così la vogliamo chiamare) sia
usare un brutto accrocchio di fork e memoria condivisa. Ora la mia
domanda è: avete idea se PHP6 supporterà il multithreading?

No, perché mi sono innamorato di questa pratica in particolare per
quel che riguarda la gestione di un logger di sistema: se ne fa un
thread separato in attesa di messaggi e tutto funziona a meraviglia. a
thread monolitico invece è un po' più difficile la gestione del fatto.
Per dire, creo una classe logger a cui faccio le varie chiamate,
immagazzino i messaggi temporaneamente e poi scrivo tutto una volta
che l'oggetto sta per essere distrutto. Uno dice ma perché tutto
questo casino? Per esempio perché nel sistema ho un gestore di
documenti XML a singleton e il logger usa come backend dei file XML e
se il logger facesse uso del singleton XML, inevitabilmente gli altri
oggetti che lo usano perderebbero i loro documenti. Non cambia niente
con l'approccio multithread, comunque il flush dei messaggi andrebbe
fatto alla morte del thread, ma sarebbe più facile gestire le
"dipendenze" tra i vari thread con opportuni wait - e non come sto
facendo adesso con una sequenza condizionale di unset che appesantisce
il tutto.

(ok, no, va bene, l'esempio non è adeguato al fatto multithread, però
dai, era bello da dire :)


More information about the Php-it mailing list