<div dir="ltr"><div>L'esempio che hai fatto non è quello che intendevo io: accedi a due voci contemporaneamente dello stesso dizionario nello stesso thread. Comunque proverò.</div><div><br></div>In ogni caso a me risulta che Gil rilascia i thread ogni 'gruppo' di istruzioni bytecode, non ogni singola istruzione. In altre parole sovrascrivere una voce di un dizionario è, per quel che riguarda python, una istruzione atomica. La cosa è evidente se cerchi di scrivere sullo stesso terminale da ogni thread: quel che appare è un guazzabuglio confuso ma è anche evidente dal risultato degli script che ho scritto.<div><br></div><div>O, quantomeno, la cosa funziona: mi son fatto diversi script in cui ogni thread modifica/usa/cancella/trattiene una voce (con un lock non atomico di controllo di accesso) in un dizionario e gli altri fanno quello che vogliono sulle ALTRE voci con le stesse regole. Ogni voce punta ad una voce univoca di un altro dizionario senza lock che viene cancellata/riscritta.</div><div><br></div><div>Funzionano perfettamente senza problemi, almeno per quella decina di milioni di volte per cui li ho fatti girare: direi che si può benissimo farlo anche se sono certo del reale perché.</div><div><br></div><div>Mah!</div><div>:-)<br></div>​<div><br></div></div>