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.
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.
Tags und Links python multithreading queue deque