Die beste Methode zum Erzielen eines indizierten Zugriffs auf eine Python-Warteschlange, threadsicher

8

Ich habe eine Warteschlange (aus dem Modul Queue ) und möchte indizierten Zugriff darauf erhalten. (d. h. in der Lage sein, nach der Nummer vier in der Warteschlange zu fragen, ohne sie aus der Warteschlange zu entfernen.)

Ich habe gesehen, dass eine Queue intern eine deque verwendet und deque einen indizierten Zugriff hat. Die Frage ist, wie kann ich die Deque verwenden, ohne (1) die Warteschlange in Unordnung zu bringen, (2) die Thread-Sicherheit zu brechen.

    
Ram Rachum 18.08.2009, 13:45
quelle

1 Antwort

10
%Vor%

Es ist natürlich wichtig, den Mutex freizugeben, ob die Indexierung erfolgreich ist oder einen IndexError auslöst, und ich verwende eine with -Anweisung dafür. In älteren Python-Versionen würde try / finally mit demselben Effekt verwendet werden.

    
Alex Martelli 18.08.2009, 14:39
quelle

Tags und Links