具有futures.threadpool的多个并发线程

我正在尝试在主线程旁边运行多个线程。 threading.Threadconcurrent.futures.ThreadPoolExecutor都可以单独运行一个线程。 但是,运行两个单独的线程根本不起作用。其中一个线程会一直运行,同时锁定其他两个线程。没有“共享”资源被锁定afaik,它们彼此之间没有任何关系(除了调用下一个线程),所以我不明白为什么这不起作用

我的代码如下:

with concurrent.futures.ThreadPoolExecutor() as executor:
            future = executor.submit(function())
            result = future.result()

线程内部运行的函数也调用:

function():
            with concurrent.futures.ThreadPoolExecutor() as executor:
            inner_result = (executor.submit(inner_function,"value")).result()

我也尝试使用以下命令运行此功能: t = Thread(target=function...,得到相同的结果。

在python中运行多个并发线程时我缺少什么吗?

jio123456 回答:具有futures.threadpool的多个并发线程

问题是将结果而不是函数本身传递给执行程序。

此:executor.submit(function())

应为:executor.submit(function)

本文链接:https://www.f2er.com/3054905.html

大家都在问