2024-09-28 17:02:00 发布
网友
我有一个简单的线程调用:
aThread = threading.Thread(target=singleDriverThread, args=(d[0]))
然后我就开始了(aThread.开始)你知道吗
当我需要停止线程时,我会:
aThread.join()
但是线一直在走。。救命啊?你知道吗
如果你想停止一个线程,你应该终止或者给线程发信号。这个SO answer和这个SO answer处理停止线程。join方法只等待线程退出。你知道吗
join
一般来说,为了使线程优雅地停止,有一个与之通信的通道是有用的,这样就可以传递停止消息/信号。你知道吗
线程将继续运行,直到可调用的singleDriverThread返回。你知道吗
singleDriverThread
示例:
如果您的可调用singleDriverThread看起来像这样,代码将永远不会停止:
def singleDriverThread(): while True: # do stuff in eternal loop pass
但是如果singleDriverThread看起来像这样:
def singleDriverThread(): # do stuff return
然后callable将返回,线程将与其余代码连接。你知道吗
如果你想停止一个线程,你应该终止或者给线程发信号。这个SO answer和这个SO answer处理停止线程。
join
方法只等待线程退出。你知道吗一般来说,为了使线程优雅地停止,有一个与之通信的通道是有用的,这样就可以传递停止消息/信号。你知道吗
线程将继续运行,直到可调用的
singleDriverThread
返回。你知道吗示例:
如果您的可调用
singleDriverThread
看起来像这样,代码将永远不会停止:但是如果
singleDriverThread
看起来像这样:然后callable将返回,线程将与其余代码连接。你知道吗
相关问题 更多 >
编程相关推荐