您的位置:首页技术文章
文章详情页

Python 线程池模块之多线程操作代码

【字号: 日期:2022-06-19 09:12:56浏览:3作者:猪猪
1、线程池模块

引入

from concurrent.futures import ThreadPoolExecutor2、使用线程池

一个简单的线程池使用案例

from concurrent.futures import ThreadPoolExecutorimport timepool = ThreadPoolExecutor(10, ’Python’)def fun(): time.sleep(1) print(1, end=’’)if __name__ == ’__main__’: # 列表推导式 [pool.submit(fun) for i in range(20) if True]

from concurrent.futures import ThreadPoolExecutorimport timepool = ThreadPoolExecutor(10, ’Python’)def fun(arg1,arg2): time.sleep(1) print(arg1, end=’ ’) print(arg2, end=’ ’)if __name__ == ’__main__’: # 列表推导式 [pool.submit(fun,i,i) for i in range(20) if True] # 单个线程的执行 task = pool.submit(fun,’Hello’,’world’) # 判断任务执行状态 print(f’task status {task.done()}’) time.sleep(4) print(f’task status {task.done()}’) # 获取结果的函数是阻塞的,所以他会等线程结束之后才会输出 print(task.result()) 3、获取结果

阻塞等待

print(task.result())

批量获取结果

for future in as_completed(all_task): data = future.result()

阻塞主线程,等待执行结束再执行下一个业务

# 等待线程全部执行完毕wait(pool.submit(fun,1,2),return_when=ALL_COMPLETED)print(’’)

以上就是Python 线程池模块之多线程操作代码的详细内容,更多关于Python 线程池模块的资料请关注好吧啦网其它相关文章!

标签: Python 编程
相关文章: