hutool.core.exec

并发执行工具类,提供线程池和进程池批量任务提交。

Module Contents

Classes

ExecUtil

并发执行工具类,提供线程池和进程池批量任务提交。

API

class hutool.core.exec.ExecUtil

并发执行工具类,提供线程池和进程池批量任务提交。

所有方法使用 concurrent.futures 标准库实现。

static multi_thread_submit(func: Callable, items: list, max_workers: int = 10) List[Any]

使用线程池批量提交任务并等待全部完成。

items 中每个元素作为 func 的单个参数传入。

Examples:

def process(item):
    return item * 2

results = ExecUtil.multi_thread_submit(process, [1, 2, 3, 4])
# results 为 [2, 4, 6, 8](顺序可能不同)
参数:
  • func – 任务函数

  • items – 参数列表,每个元素作为一次调用的参数

  • max_workers – 最大线程数,默认 10

返回:

所有任务结果的列表

static multi_process_submit(func: Callable, items: list, max_workers: int = 10) List[Any]

使用进程池批量提交任务并等待全部完成。

items 中每个元素作为 func 的单个参数传入。 注意:func 和参数必须可 pickle 序列化。

Examples:

def process(item):
    return item ** 2

results = ExecUtil.multi_process_submit(process, [1, 2, 3, 4])
参数:
  • func – 任务函数

  • items – 参数列表

  • max_workers – 最大进程数,默认 10

返回:

所有任务结果的列表