作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
import threading
print threading.activeCount()
输出:2
当这段代码被保存到文件中并运行时。
在主线程的时候怎么会是2呢?
当我们运行一个foo.py文件时,python是否默认运行除了主线程之外的另一个线程?
最佳答案
心理调试:您不是在普通的 Python 解释器中运行。普通的 Python 解释器不会启动额外的线程(除非你有一个奇怪的 PYTHONSTARTUP
文件),但其他解释器会。例如:
ipython
启动一个额外的线程以在后台保存命令历史记录(以避免延迟提示)IDLE
被设计为使用通过套接字进行通信的多个进程,它为您提供的交互式解释器使用守护线程来执行后台套接字通信尝试运行 print threading.enumerate()
;它可能会告诉您后台线程在做什么(例如,ipython
正在使用名为 HistorySavingThread
的 Thread
子类,IDLE
s 是普通的 Thread
,但它运行的函数名为 SockThread
,这可以让您了解它在做什么)。
关于python - 为什么python线程数是2开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40471711/
我是一名优秀的程序员,十分优秀!