Ich bin auf der Suche nach einer Python-Klasse (vorzugsweise Teil der Standardsprache, anstatt einer 3rd-Party-Bibliothek) zu asynchronen Broadcast-Stil Messaging zu verwalten.Need eine thread-sichere asynchrone Nachrichtenwarteschlange
Ich habe einen Thread, der Nachrichten in die Warteschlange setzt (die 'putMessageOnQueue' -Methode darf nicht blockieren) und dann mehrere andere Threads, die alle auf Nachrichten warten, vermutlich eine blockierende "waitForMessage" -Funktion aufgerufen haben. Wenn eine Nachricht in die Warteschlange gestellt wird, möchte ich, dass jeder der wartenden Threads eine eigene Kopie der Nachricht erhält.
Ich habe die integrierte Queue
-Klasse angeschaut, aber ich denke nicht, dass dies geeignet ist, weil das konsumieren von Nachrichten das Entfernen aus der Warteschlange beinhaltet, so dass nur 1 Client-Thread jeden sehen würde.
Dies scheint, wie es ein gemeinsamer Anwendungsfall sein soll, kann jemand eine Lösung empfehlen?
I glaube, du kannst deine eigene Klasse aufbauen, die verfolgt, welcher Thread welche Nachricht erhalten hat, ohne viele Probleme. – Bakuriu