您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中的可中断线程连接

Python中的可中断线程连接

Jarret Hardie已经提到过:根据Guido van Rossum的说法,到目前为止,还没有更好的方法:如文档中所述,join(None)块(这意味着没有信号)。另一种选择- 超时(join(2**31)大约)时进行调用并进行检查isAlive看起来很棒。但是,Python处理计时器的方式是灾难性的,运行python测试程序时使用servth.join(100)而不是可以看到servth.join()

select(0, NULL, NULL, NULL, {0, 1000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 2000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 4000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 8000})  = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 16000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 32000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 50000}) = 0 (Timeout)
--- Skipped 15 equal lines ---
select(0, NULL, NULL, NULL, {0, 50000}Killing

即,Python每50毫秒唤醒一次,从而导致一个应用程序保持cpu休眠。

python 2022/1/1 18:48:29 有366人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶