Szukam klasy Python (najlepiej część standardowego języka, a nie biblioteki trzeciej), aby zarządzać asynchronicznym przesyłaniem wiadomości w stylu rozgłaszania.Potrzebuję asynchronicznej kolejki komunikatów bezpiecznej dla wątków
Będę miał jeden wątek, który umieszcza komunikaty w kolejce (metoda "putMessageOnQueue" nie może blokować), a następnie wiele innych wątków, które będą wszystkie czekały na wiadomości, przypuszczalnie nazywając niektóre blokujące funkcję "waitForMessage". Gdy wiadomość jest umieszczona w kolejce, chcę, aby każdy z oczekujących wątków otrzymał własną kopię wiadomości.
Spojrzałem na wbudowaną klasę Queue
, ale nie sądzę, że jest to odpowiednie, ponieważ zużywanie wiadomości wydaje się wymagać usunięcia ich z kolejki, więc tylko jeden wątek klienta zobaczyłby każdy z nich.
Wygląda na to, że powinien to być typowy przypadek, czy ktoś może polecić rozwiązanie?
I wierzę, że możesz zbudować własną klasę, która śledzi, które wątki otrzymały wiadomość, bez wielu problemów. – Bakuriu