使用 Python3 中的 concurrent.futures 线程池识别线程 运行 函数
Identifying thread running function using concurrent.futures thread pool in Python3
我有以下代码:
import concurrent.futures
def f(a, b):
print("Thread x => "+a+" "+b)
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
for n in executor.map(lambda n: f('abcd', 'xpto'), range(3)):
pass
我想要的是能够将 “Thread x” 替换为“thread id/number”中的“x”。结果应该是这样的:
线程 0 => abcd xpto
线程 1 => abcd xpto
线程 2 => abcd xpto
第一个问题是传递多个参数,但使用 lambda 我能够做到。
提前致谢,
BR
您是要将 x 作为参数传递吗?
import concurrent.futures
def f(x, a, b):
print("Thread”, x, “=>"+a+" "+b)
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
for n in executor.map(lambda n: f(n, 'abcd', 'xpto'), range(3)):
pass
我有以下代码:
import concurrent.futures
def f(a, b):
print("Thread x => "+a+" "+b)
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
for n in executor.map(lambda n: f('abcd', 'xpto'), range(3)):
pass
我想要的是能够将 “Thread x” 替换为“thread id/number”中的“x”。结果应该是这样的:
线程 0 => abcd xpto
线程 1 => abcd xpto
线程 2 => abcd xpto
第一个问题是传递多个参数,但使用 lambda 我能够做到。
提前致谢,
BR
您是要将 x 作为参数传递吗?
import concurrent.futures
def f(x, a, b):
print("Thread”, x, “=>"+a+" "+b)
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
for n in executor.map(lambda n: f(n, 'abcd', 'xpto'), range(3)):
pass