首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何最好地唤醒沉睡的Python线程?

如何最好地唤醒沉睡的Python线程?
EN

Stack Overflow用户
提问于 2014-04-04 05:45:51
回答 1查看 11.9K关注 0票数 16

在我的局域网上有一台仪器,它每5-10毫秒发送一次UDP数据包。在我的应用程序中,我有一个读取器线程,它在套接字启动时分配一个具有大缓冲区的套接字,然后进入无限循环来读取累积的数据包,解析它们,将它们写入假脱机程序,然后休眠半秒(time.sleep(0.500))。

我有几个懒惰的数据消费者,它们中的大多数都进行归档或生成被动统计数据。但是有一个消费者(用于显示)需要最新的数据,并且需要在查询假脱机程序之前唤醒休眠的读取器(以读取套接字)。

唤醒休眠线程的最好方法是什么?

(或者,有没有更好的方式让线程休眠,更容易唤醒?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-08 22:07:04

我没有注意到threading.condition.wait()有一个可选的超时参数!

答案是使用create a condition object,并使用其带有可选超时的wait()方法,而不是time.sleep()。如果线程需要在超时之前被唤醒,则调用condition对象的notify()方法。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22849606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档