您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python 线程池模块之多线程操作代码

51自学网 2021-10-30 22:39:42
  python
这篇教程Python 线程池模块之多线程操作代码写得很实用,希望能帮到您。

1、线程池模块

引入

from concurrent.futures import ThreadPoolExecutor

2、使用线程池

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

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 线程池模块的资料请关注51zixue.net其它相关文章!


pytorch中[..., 0]的用法说明
pytorch 中nn.Dropout的使用说明
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。