向所有Python线程发送单向消息

4
我需要向程序中运行的每个线程发送信息,并且每个线程都必须处理这些信息。我不能使用常规队列,因为这样一旦一个线程从队列中删除了数据,所有其他线程就再也看不到它了。有什么最好的方法可以实现这一点?

你知道有多少个线程吗?只需设置一个静态变量,让它们都检查该静态变量但不修改它。如果你不知道有多少个线程,就无法知道何时所有线程都已消耗数据。 - Falmarri
1个回答

4

一种方法是为每个线程设置队列,并且广播信息的函数负责将消息插入每个线程的队列中。

这类似于Windows中消息队列的工作方式。例如,执行GUI操作的每个线程都有一个关联的消息队列,独立于任何其他线程的消息队列。


啊,好的,我以为这种类型的队列已经存在了,但那我就试试这个方法。为每个线程创建一个队列并将它们存储在数组中似乎可以工作。 - Jelle De Loecker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接