如何通过任务id检查任务状态



我的代码:

import time
def func(sleep_time):
task = Thread(target=task_func, args=(sleep_time,))
task.start()
return task.ident
def task_func(t):
time.sleep(t) # some task example
return "some task result"

我知道,有is_alive()方法,但如果我有很多这样的任务:

for i in range(3):
func(i)

输出(任务ID(将类似于:

123
456
789

那么,我如何通过ID来检查任务状态,比如:

def check_status(task_id):
return is_alive(task_id)

您可以使用threading.enumerate()列出所有活动线程,然后检查所需线程是否处于活动状态。

threading.enumerate()返回所有仍处于活动状态的线程对象的列表。https://docs.python.org/3.6/library/threading.html

import threading
def check_status(task_id):
my_threads = threading.enumerate()
for elem in my_threads:
if elem.ident == task_id:
print(elem)

相关内容

  • 没有找到相关文章

最新更新