[Python] GIL e fork - multiprocesso -

Alessandro Agosto the.6one6 a gmail.com
Dom 30 Maggio 2010 16:47:43 CEST


Rieccomi :)

Il giorno 20 maggio 2010 23.49, Manlio Perillo <manlio_perillo a libero.it> ha
scritto:

> Per diverse ragioni:
>
> 1) Di solito le applicazioni sono I/O bound (vedi accesso ai file, alla
>   rete, e database), e le funzioni di I/O, in CPython ed estensioni
>   scritte con in mente il threading, rilasciano il GIL.
>
> 2) Diverse funzioni che sono CPU bound sono scritte in C, ed anche
>   queste rilasciano il GIL.
>   Vedi ad esempio PIL, e numpy.
>

Darò un occhiata ai sorgenti di numpy (li ho già scaricati) per capire
meglio in quali condizioni rilasciano il GIL.
Anche se ad oggi comunque non ho mai avuto personalmente bisogno di usare
moltissime CPU-bound (e quelle poche solo per test) anche per il fatto che
solitamente programmo in ambiente di rete o, come dicevi tu, applicazioni
che fanno uso di funzioni I/O.


> Ovviamente ci sono casi significativi in cui il codice CPU bound è in
> Python puro, ed in questo caso il multiprocessing è la soluzione migliore.
>
Perfetto.

>
>
> Ciao  Manlio
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>


Ciao :) Mille grazie per le delucidazioni,
a presto!

-- 
Alessandro A.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20100530/f3c0fe56/attachment.htm 


Maggiori informazioni sulla lista Python