[Python] Decorated Concurrency - Python multiprocessing made really really easy
enrico franchi
enrico.franchi a gmail.com
Mer 25 Maggio 2016 18:14:04 CEST
2016-05-24 14:30 GMT+01:00 Manlio Perillo <manlio.perillo a gmail.com>:
>
> Quando parlo di memoria condivisa intendo a dettaglio implementativo,
> magari nascosto sotto l'astrazione di una libreria o di un linguaggio.
> Ad esempio in Rust alla fine *usi* memoria condivisa, ma il linguaggio
> ti permette di ragionare senza pensare a sincronizzazioni esplicite.
>
> In Go puoi usare i channel, ma anche qui alla fine usi la memoria
> condivisa, solo che la sincronizzazione è gestita dal runtime.
>
Si ok... ma visto e considerato che i computer sono delle macchine di von
neumann ad un certo punto le cose sono implementate con dei gran TSL o
quello che ha la tua CPU.
Quello che e' interessante e' che il modello che stai usando e' fatto in
termini di message passing (o qualunque altra primitiva di concorrenza che
non sia tirare dei gran lock e pedalare).
> Ma sempre in Go, spesso la soluzione più semplice e suggerita in
> mailing list, è quella di usare un mutex.
A volte, si. Quando la soluzione con i channel non e' sufficiente o diventa
troppo complicata o troppo inefficiente.
E ancora una volta quello che cerchi di fare e' fare in modo che lo stato
sia *localmente* mutabile e di avere controllo su chi e come lo vuole
scrivere e leggere.
--
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160525/500e6269/attachment-0001.html>
Maggiori informazioni sulla lista
Python