Sto cercando una classe Python (preferibilmente parte della lingua standard, piuttosto che una libreria di terze parti) per gestire la messaggistica asincrona dello "stile broadcast".È necessaria una coda di messaggi asincroni thread-safe
Avrò un thread che metterà i messaggi in coda (il metodo 'putMessageOnQueue' non deve bloccare) e quindi più altri thread che attenderanno tutti i messaggi, presumibilmente chiamato funzione di blocco 'waitForMessage'. Quando un messaggio viene inserito nella coda, voglio che ognuno dei thread in attesa ottenga la propria copia del messaggio.
Ho esaminato la classe integrata Queue
, ma non penso che sia adatta perché il consumo di messaggi sembra implicare la loro rimozione dalla coda, quindi solo 1 thread client vedrebbe ciascuno.
Questo sembra che dovrebbe essere un caso d'uso comune, qualcuno può consigliare una soluzione?
I credi di poter costruire una tua classe che tenga traccia di quale thread ha ricevuto quel messaggio, senza molti problemi. – Bakuriu