thread count is : 1
Enumerate thread count is : [<_MainThread(MainThread, started 140735135682560)>]
Starting Thread-1
thread count is : 2
Enumerate thread count is : [<_MainThread(MainThread, started 140735135682560)>, <myThread(Thread-1, started 123145306509312)>]
Starting Thread-2
thread count is : 3
Enumerate thread count is : [<_MainThread(MainThread, started 140735135682560)>, <myThread(Thread-1, started 123145306509312)>, <myThread(Thread-2, started 123145310715904)>]
Exiting Main Thread
thread count is : 3
Enumerate thread count is : [<_MainThread(MainThread, started 140735135682560)>, <myThread(Thread-1, started 123145306509312)>, <myThread(Thread-2, started 123145310715904)>]
Thread-1: Thu Jun 28 12:44:35 2018
Thread-1: Thu Jun 28 12:44:36 2018
Thread-2: Thu Jun 28 12:44:36 2018
Thread-1: Thu Jun 28 12:44:37 2018
Thread-1: Thu Jun 28 12:44:38 2018
Thread-2: Thu Jun 28 12:44:38 2018
Thread-1: Thu Jun 28 12:44:39 2018
Exiting Thread-1
Thread-2: Thu Jun 28 12:44:40 2018
Thread-2: Thu Jun 28 12:44:42 2018
Thread-2: Thu Jun 28 12:44:44 2018
Exiting Thread-2
Enumerate thread count is : [<_MainThread(MainThread, started 140735135682560)>]
心灵调试:你不是在一个普通的Python解释器中运行的。普通Python解释器不会启动额外的线程(除非您有一个奇怪的
PYTHONSTARTUP
文件),但其他解释器会启动。例如:ipython
启动一个额外的线程在后台保存命令历史记录(以避免延迟提示)IDLE
是使用多个进程通过套接字进行通信而设计的,它提供的交互式解释器使用守护进程线程来执行后台套接字通信尝试运行
print threading.enumerate()
;它可能会告诉您后台线程在做什么(例如,ipython
正在使用一个名为HistorySavingThread
的Thread
子类,IDLE
是普通的Thread
,但是它运行的函数名为SockThread
,这给了你一个关于它在做什么的线索。在默认运行线程是Main thread,因此下一个线程将是主线程的子线程,因此它从count2开始。在
示例:
相关问题 更多 >
编程相关推荐