看了大卫·比兹利的(http://www.dabeaz.com)video about python threads,我正在尝试用线程的东西
def countdown(n):
while n > 0:
if not n % 100000:
print n
n -= 1
>> from threading import Thread
>> t1=Thread(target=countdown,args=(10000000,))
>> t1.start();t1.join()
>>Ctrl-C
这个给了
^{pr2}$现在我试图找到线程的状态
>>t1.isAlive()
>>False
所以,我试图再次运行线程,这导致了一个错误
>>t1.start();t1.join()
--------------
RuntimeError: thread already started
为什么会这样?有没有办法停止线程?在
Python3确实修复了这种行为:你得到一个“线程只能启动一次”。这是故意的。在
如果您想获得更多的控制权,可以看看_线程模块,它只是POSIX线程上的一个包装器。在
在您使用的线程库中,一个给定的线程实例只能启动和停止一次,之后不能再启动。您得到的错误消息是因为您试图在线程停止后启动它,所以您确实成功地停止了它。你必须重新开始一个新的线程。在
相关问题 更多 >
编程相关推荐