[Python] aggiungere o distruggere una locked item in un dict mentre un'altro thread o asyncio lo legge/scrive per un'altra item?
Manlio Perillo
manlio.perillo a gmail.com
Gio 11 Feb 2016 15:43:38 CET
2016-02-10 22:28 GMT+01:00 alessandro medici <alexxandro.medici a gmail.com>:
> ecco, mi domandavo se sia solo insano o sicuro.
>
Cosa intendi con locked item?
Comunque tieni presente che, quando usi asyncio, normalmente solo un
thread è attivo ogni momento, quindi non hai problemi di accessi
concorrenti.
Invece usando i threads potenzialmente hai un problema di accesso
concorrente, ma con CPython grazie al GIL il problema non si pone.
Qui ci sono maggiori dettagli:
http://effbot.org/pyfaq/what-kinds-of-global-value-mutation-are-thread-safe.htm
Attenzione che non appena inizi a fare cose meno banali oppure inizi
ad usare altre implementazioni di Python avrai sicuramente problemi,
quindi meglio commentare bene il codice, oppure usare un lock.
Ciao Manlio
Maggiori informazioni sulla lista
Python