[Python] threads

Manlio Perillo manlio_perillo a libero.it
Mar 1 Dic 2009 19:47:27 CET


Enrico Franchi ha scritto:
> [...]
>
> Il GIL e' semplicemente un dettaglio implementativo di cPython che serve
> a garantire la semantica intesa.
> 

Ci sono però delle considerazioni da fare.
Ad esempio in CPython, "grazie" al lock, abbiamo la garanzia che le
varie operazioni su strutture dati mutevoli come liste e dizionari sono
atomiche.

Ma questo non è mai specificato formalmente, a quanto ne so.
In Jython, almeno le vecchie versioni, le varie funzioni che modificano
una lista, come append, non sono atomiche; deve essere usato un lock
esplicito.

E dato che questo non viene documentato nel reference del linguaggio,
non si capisce se:
- l'atomicità in CPython è un effetto "collaterale" o dettaglio
 implementativo
- l'implementazione di Jython è errata



Ciao  Manlio


Maggiori informazioni sulla lista Python