作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行以下代码:
from threading import Thread
from time import sleep
def file_write(file_input, num_lines):
sleep(10)
file = open("testfile.txt", "w")
for line in num_lines:
file.write("{}: {}".format(line, file_input))
file.close()
if __name__ == '__main__':
curr_thread = Thread(target=file_write, args=("Norah", range(5)))
curr_thread.daemon = False
curr_thread.start()
最佳答案
sleep 调用只会阻塞调用它们的线程。在调用 curr_thread.start()
后立即在主线程中打印任何内容会向你证明这一点。
但是,如果您中断代码 (Ctrl-C),您将看到有用的堆栈跟踪。最后一次调用在 threading
内模块的_shutdown()
方法,它似乎正在等待所有非守护线程完成。
t = _pickSomeNonDaemonThread()
while t:
t.join()
t = _pickSomeNonDaemonThread()
curr_thread.daemon = False
,您正在强制主线程等待该线程首先完成。
curr_thread.daemon = False
,你会得到相同的行为。
关于python - Time.sleep 似乎阻塞了主线程,而不仅仅是子线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46350643/
有人可以向我澄清主线 DHT 规范中的声明吗? Upon inserting the first node into its routing table and when starting up th
我正在尝试使用 USB 小工具驱动程序使嵌入式设备作为 MTP 设备工作。 我知道 Android 从大容量存储设备切换到 MTP 设备已经有一段时间了,并且找到了 source code for M
我是一名优秀的程序员,十分优秀!