使用 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