Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何知道线程/进程何时完成_Python_Multithreading_Multiprocessing - Fatal编程技术网

Python 如何知道线程/进程何时完成

Python 如何知道线程/进程何时完成,python,multithreading,multiprocessing,Python,Multithreading,Multiprocessing,谢谢你的阅读 调用函数时,我将获取当前线程/进程的连接,如果它不存在,我将创建它 如何知道线程/进程何时完成,以便释放这些连接? 谁将调用函数\u on\u thread\u process\u terminate。以非阻塞方式? 如果我想捕获线程和进程,需要使用什么锁。线程。锁定还是多处理。锁定 有办法知道吗 例如: 类MyClass(对象): 定义初始化(自): self._pid_to_resource={} self.\u lock=lock() 线程上的定义进程终止(self,pid)

谢谢你的阅读

调用函数时,我将获取当前线程/进程的连接,如果它不存在,我将创建它

如何知道线程/进程何时完成,以便释放这些连接?
谁将调用函数
\u on\u thread\u process\u terminate
。以非阻塞方式?
如果我想捕获线程和进程,需要使用什么锁。线程。锁定还是多处理。锁定

有办法知道吗

例如:

类MyClass(对象):
定义初始化(自):
self._pid_to_resource={}
self.\u lock=lock()
线程上的定义进程终止(self,pid):
self.\u lock.acquire()
尝试:
self.\u pid\u到\u资源[pid]。断开连接()
del self._pid_to_resource[pid]
最后:
self._lock.release()
def get_连接(自):
self.\u lock.acquire()
尝试:
pid=线程。获取本机id()
如果pid在self.\u pid\u到\u资源中:
conenction=self.\u pid\u to\u resource.get(pid)
其他:
conenction=连接到
self.\u pid\u to\u resource[pid]=约束
#如何侦听线程/进程已完成事件
#如何以非阻塞方式等待pid?
#等待\u pid(pid,self.\u在\u线程上\u进程\u终止)
回程会议
最后:
self._lock.release()
非常感谢。
最佳谢伊酒店