这篇文章主要为大家详细介绍了python之线程池模块之多线程操作的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的雯雯来看看吧!
引入
代码如下:
from concurrent.futures import ThreadPoolExecutor
Python 线程池模块之多线程操作代码
一个简单的线程池使用案例
代码如下:
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]
Python 线程池模块之多线程操作代码
代码如下:
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())
Python 线程池模块之多线程操作代码
阻塞等待
代码如下:
print(task.result())
Python 线程池模块之多线程操作代码
批量获取结果
代码如下:
for future in as_completed(all_task):
data = future.result()
Python 线程池模块之多线程操作代码
阻塞主线程,等待执行结束再执行下一个业务
代码如下:
# 等待线程全部执行完毕
wait(pool.submit(fun,1,2),return_when=ALL_COMPLETED)
print('')
以上就是Python 线程池模块之多线程操作代码的详细内容,更多关于Python 线程池模块的资料请关注四海网其它相关文章!
本文来自:http://www.q1010.com/181/18584-0.html
注:关于python之线程池模块之多线程操作的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:python
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。