ThreadPoolExecutor 执行没有参数的方法

lbfeng2019-12-10270

def thread_function():
    logging.info("Thread %s: starting")
    time.sleep(2)
    logging.info("Thread %s: finishing")

with concurrent.futures.ThreadPoolExecutor(3) as executor:
   executor.map(thread_function)

如果 thread_function 没有参数的话,executor.map 是不是应该没有第二个参数.

最新回复 (8)
  • leonme2019-12-13
    引用2
    https://docs.python.org/3/library/concurrent.futures.html
  • 楼主lbfeng2019-12-13
    引用3
    @leonme 问之前就看了。。并没有提到 iterables 如果没有该怎么办
  • 楼主lbfeng2019-12-13
    引用4
    关于 threadpoolexecutor map parameter 的都是 multiple parameter 的问题,没有 no parameter。。。
  • ClericPy2019-12-13
    引用5
    该看的是 submit 得到 Future 后的用法吧

    map 又不是万能的, 实在无聊那就

    xx.map(lambda f: f(), [f])
  • guokeke2019-12-13
    引用6
  • wzwwzw2019-12-13
    引用7
    用 submit /
  • 楼主lbfeng2019-12-13
    引用8
    ```
    with concurrent.futures.ThreadPoolExecutor(3) as executor:
    future = executor.submit(thread_function_no_parameter)
    print(future.result())
    ```

    如果想启动 3 个 thread,需要重复 executor.submit(thread_function_no_parameter) 3 遍??
  • wzwwzw2019-12-13
    引用9
    @lbfeng 看下官方 demo future_to_url = {executor.submit(load_url, url, 60): url for url in URLS} 循环。
  • 游客
    10
返回