time.sleep似乎阻塞了其他线程

时间:2019-08-20 05:58:50

标签: python-3.x multithreading

我有一个简单的Python 3程序,其中子线程处于睡眠状态,主线程似乎也被阻塞。为什么sleep不将CPU切换到主线程?

import threading
import time


def hello():
    print('hello')
    while True:
        time.sleep(10000)


threading.Thread(hello()).start()

print('world')

输出:

hello

world一词从未印刷。

1 个答案:

答案 0 :(得分:2)

您正在通过使用https://www.facebook.com/photo.php?fbid=10156532336573106&set=a.10150325145123106&type=3&eid=ARA8J7aPjJ9TMOLIhsxoU-IEDydSAIDowKzHAKb5TLidsVUz3GFNkIQY6_g4uyQ1_OhtMJO0GAq9JgHl 在主线程上调用https://scontent.fkhi10-1.fna.fbcdn.net/v/t1.0-9/68693440_10156532336578106_7081557032720924672_n.jpg?_nc_cat=107&amp;_nc_oc=AQkyK966KxqYD7G0m1EtR-8w8y69sV8QaPbA9_r2DHMm5wSQLlaUzBrlRYW-WMG7uic&amp;_nc_ht=scontent.fkhi10-1.fna&amp;oh=45473e68efe2df33d683c28a5441674f&amp;oe=5DE19A38" /><meta property="og:url" content="https://www.facebook.com/nauman.akbar/posts/10156532339213106 ,这是一个函数调用(由于hello的原因),而不是函数引用。引用(名称)仅为hello()

也许尝试:

()