Ho incontrato errore 'RuntimeError: dizionario cambiato dimensione durante l'iterazione' mentre l'iterazione attraverso un dizionario in un thread, che viene inserito in un altro thread in Python 2.7 .ho trovato che utilizzando Globale Intrepreter Lock, potremmo bloccare un oggetto in situazione mutitizzata.Come potrei usare GIL per un dizionario in un'applicazione multithread?
In thread1:
dictDemo[callid]=val
in thread2:
for key in dictDemo:
if key in dictDemo:
dictDemo.pop(key,None)
ho incontrato l'errore 'RuntimeError: dizionario cambiato dimensione durante l'iterazione'.? in Thread2 dal Thread1 funziona allo stesso tempo ** Come posso usare GIL per bloccare il dizionario dictDemo in Thread2 ** Oppure GIL può essere utilizzato solo per i thread o esiste un modo per bloccare il dizionario in modo da limitare l'utilizzo dell'oggetto da 2 thread alla volta?
è possibile utilizzare threading.Lock Object. – SolaWing