python time.sleep()-睡眠线程还是进程?
它会阻止线程。如果查看Python源代码中的Modules / timemodule.c,您会看到在调用中floatsleep(),睡眠操作的实质部分包含在Py_BEGIN_ALLOW_THREADS和Py_END_ALLOW_THREADS块中,允许其他线程继续执行当前线程睡觉。你也可以用一个简单的python程序来测试它:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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
ps:下面看下Python Sleep休眠函数
Python 编程中使用 time 模块可以让程序休眠,具体方法是time.sleep(秒数),
其中”秒数”以秒为单位,可以是小数,0.1秒则代表休眠100毫秒。
1
2
3
4
5
6
7
|
# 例1:循环输出休眠1秒
import time
i = 1
while i < = 3 :
print i # 输出i
i + = 1
time.sleep( 1 ) # 休眠1秒1234567
|
1
2
3
4
5
6
7
|
# 例2:循环输出休眠100毫秒
import time
i = 1
while i < = 3 :
print i # 输出i
i + = 1
time.sleep( 0.1 ) # 休眠0.1秒
|
总结
以上所述是小编给大家介绍的python time.sleep()是睡眠线程还是进程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://www.cnblogs.com/pythongood/archive/2019/07/09/11155104.html