2016-05-24 14:30 GMT+01:00 Manlio Perillo <manlio.peri...@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-
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a