hutool.core.exec¶
并发执行工具类,提供线程池和进程池批量任务提交。
Module Contents¶
Classes¶
并发执行工具类,提供线程池和进程池批量任务提交。 |
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
- 返回:
所有任务结果的列表