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休眠。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)