python time.sleep()-睡眠线程还是进程?
程序员文章站
2022-06-17 08:18:34
它会阻止线程。如果查看Python源代码中的Modules / timemodule.c,您会看到在调用中floatsleep(),睡眠操作的实质部分包含在Py_BEGIN_ALLOW_THREADS和Py_END_ALLOW_THREADS块中,允许其他线程继续执行当前线程睡觉。你也可以用一个简单 ......
它会阻止线程。如果查看python源代码中的modules / timemodule.c,您会看到在调用中floatsleep(),睡眠操作的实质部分包含在py_begin_allow_threads和py_end_allow_threads块中,允许其他线程继续执行当前线程睡觉。你也可以用一个简单的python程序来测试它:
import time from threading import thread class worker(thread): def run(self): for x in xrange(0,11): print x time.sleep(1) class waiter(thread): def run(self): for x in xrange(100,103): print x time.sleep(5) def run(): worker().start() waiter().start()
哪个会打印:
>>> thread_test.run() 0 100 >>> 1 2 3 4 5 101 6 7 8 9 10 102