扫码关注官方订阅号
用循环产生线程,某个线程中调用time.sleep,循环也被停止,必须在该线程sleep之后才能继续产生线程。有没有办法异步?
欢迎选择我的课程,让我们一起见证您的进步~~
我用thread和threading.thread测试了,都不存在你所说的问题。
time.sleep的c源码(python2.6.8/Modules/timemodule.c: floatsleep函数)我也看了,每一个分支都有Py_BEGIN_ALLOW_THREADS(即允许python解释器运行在其他线程上)。
综上,要么是你的代码写错了,要么是你没有看明白现象——只是你以为没有产生新线程。
应该不会产生你说的问题,子线程start()之后就自己在运行了,和主线程没关系了。子线程里面的sleep不会阻塞其他线程的。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我用thread和threading.thread测试了,都不存在你所说的问题。
time.sleep的c源码(python2.6.8/Modules/timemodule.c: floatsleep函数)我也看了,每一个分支都有Py_BEGIN_ALLOW_THREADS(即允许python解释器运行在其他线程上)。
综上,要么是你的代码写错了,要么是你没有看明白现象——只是你以为没有产生新线程。
应该不会产生你说的问题,子线程start()之后就自己在运行了,和主线程没关系了。子线程里面的sleep不会阻塞其他线程的。