用循环产生线程,某个线程中调用time.sleep,循环也被停止,必须在该线程sleep之后才能继续产生线程。有没有办法异步?
PHP中文网2017-04-17 11:35:57
我用thread和threading.thread测试了,都不存在你所说的问题。
time.sleep的c源码(python2.6.8/Modules/timemodule.c: floatsleep函数)我也看了,每一个分支都有Py_BEGIN_ALLOW_THREADS(即允许python解释器运行在其他线程上)。
综上,要么是你的代码写错了,要么是你没有看明白现象——只是你以为没有产生新线程。
伊谢尔伦2017-04-17 11:35:57
应该不会产生你说的问题,子线程start()之后就自己在运行了,和主线程没关系了。子线程里面的sleep不会阻塞其他线程的。