[PIPython] Python & Thread

Andrea Manzini amanzini
Ven 19 Nov 2004 15:16:44 CET


Ho qualche dubbio sulla gestione dei thread: ho letto da più parti che python
>presenta alcuni limiti sulle performance dei thread legate al GIL. Per risolvere
>questo problema sembra che l'unica soluzione sia il multiprocess, sbaglio? Il
>GIL limita effettivamente l'usabilità dei thread? Esistono altre soluzioni?

da quello che ho potuto capire, il GIL (per esteso Global Interpreter Lock) non ti permette di sfruttare eventuali macchine multiprocessore; in pratica, a causa della natura del runtime python, tutti i thread lanciati dallo stesso interprete andranno schedulati sempre sulla stessa CPU; se vuoi sfruttare due o piu' CPU devi lanciare due o piu' interpreti python.

>Quando e dove è conveniente utilizzare i thread in python rispetto al
>multiprocess? Il supporto dei thread in python  è paragonabile al supporto
>offerto da java in termini di performance?

spesso i programmi multithread sono fortemente i/o-bound, percio' secondo me in tali situazioni il decadimento di performance rispetto a Java e' assai poco percepibile... Ma bisognerebbe fare dei benchmark seri :)



"Be liberal in what you accept, and conservative in what you send"
        - The Robustness Principle, J. Postel, RFC1122


Questo messaggio di posta elettronica contiene informazioni di carattere confidenziale rivolte esclusivamente al destinatario sopra indicato.
E' vietato l'uso, la diffusione, distribuzione o riproduzione da parte di ogni altra persona. 
Nel caso aveste ricevuto questo messaggio di posta elettronica per errore, siete pregati di segnalarlo immediatamente al mittentee distruggere quanto ricevuto (compresi file allegati) senza farne copia.
Qualsivoglia utilizzo non autorizzato del contenuto di questo messaggio costituisce violazione dell'obbligo di non prendere cognizione della corrispondenza tra gli altri soggetti, salvo più grave illecito, ed espone il responsabile alle relative conseguenze.
	
Confidentiality Notice. This electronic mail transmission may contain legally priviledge and/or confidential information. Do not read this if you are not the person(s) named.
Any use, distribution, copying or disclosure by any other person is stricly prohibited.
If you received this trasmission in error, please notify the sender and destroy the original transmission and its attachments without reading or saving in any manner.




More information about the Python mailing list