主页 > 知识库 > Python 线程池模块之多线程操作代码

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

热门标签:Win7旗舰版 语音系统 百度AI接口 呼叫中心市场需求 企业做大做强 客户服务 电话运营中心 硅谷的囚徒呼叫中心

1、线程池模块

引入

from concurrent.futures import ThreadPoolExecutor

2、使用线程池

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

from concurrent.futures import ThreadPoolExecutor
import time

pool = 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 ThreadPoolExecutor
import time

pool = 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爬虫之线程池的使用
  • python线程池的四种好处总结
  • python爬虫线程池案例详解(梨视频短视频爬取)
  • python线程池 ThreadPoolExecutor 的用法示例
  • 实例代码讲解Python 线程池
  • Python 如何创建一个线程池
  • python线程池如何使用
  • 解决python ThreadPoolExecutor 线程池中的异常捕获问题
  • Python定时器线程池原理详解
  • Python 使用threading+Queue实现线程池示例
  • Python线程池的正确使用方法

标签:济南 长沙 山西 海南 山西 喀什 崇左 安康

巨人网络通讯声明:本文标题《Python 线程池模块之多线程操作代码》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266