Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用ThreadPoolExecutor并发运行_Python_Multithreading_Concurrent.futures - Fatal编程技术网

Python 如何使用ThreadPoolExecutor并发运行

Python 如何使用ThreadPoolExecutor并发运行,python,multithreading,concurrent.futures,Python,Multithreading,Concurrent.futures,我使用线程已经有一段时间了,我发现在使用线程时无法同时运行。以下是一个例子: import concurrent.futures import time import random from typing import List site_catalog: List[str] = ["Thrill", "Test"] def parse_value(value: str) -> None: while True: pri

我使用线程已经有一段时间了,我发现在使用线程时无法同时运行。以下是一个例子:

import concurrent.futures
import time
import random
from typing import List

site_catalog: List[str] = ["Thrill", "Test"]


def parse_value(value: str) -> None:
    while True:
        print("Caught: ", value)
        time.sleep(random.randint(3, 5))


with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
    for get_values in site_catalog:
        executor.submit(parse_value(value=get_values))

>>> Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
Caught:  Thrill
我想知道如何同时运行列表
site\u catalog
中的值?这意味着输出类似于:

>>> Caught:  Thrill
Caught:  Test
Caught:  Thrill
Caught:  Test
Caught:  Test
Caught:  Thrill
Caught:  Test
Caught:  Thrill
Caught:  Thrill
Caught:  Test
Caught:  Thrill

它们不依赖于彼此的执行

很容易替换为:

executor.submit(parse_value(value=get_values))
致:

executor.submit(parse_value, get_values)