python多线程

code
# python3.2版本之后才有的;
from concurrent.futures import  ThreadPoolExecutor
import time
 
def job(num):
    print("这是一个%s任务" %(num))
    return  "执行结果:%s" %(num)
if __name__ == '__main__':
    #  1. 实例化线城池对象,线城池里面包含5个线程执行任务;
    pool = ThreadPoolExecutor(max_workers=5)
    futures = []
    for i in range(6):
        # 往线程池里面扔需要执行的任务, 返回的是一个对象(_base.Future()),
        f1 = pool.submit(job, i)
        futures.append(f1)
 
    time.sleep(2)
 
    print(futures[0].done(),'------------')
    print(futures[0].result())
 
    print(futures[1].done(),'------------')
    print(futures[1].result())
Outputs
macname@MacdeMacBook-Pro py % python3 cccccc.py
这是一个0任务
这是一个1任务
这是一个2任务
这是一个3任务
这是一个4任务
这是一个5任务
True ------------
执行结果:0
True ------------
执行结果:1
macname@MacdeMacBook-Pro py %
 
 
 
 
 
 
 
 
 
 
 

原文地址:https://www.cnblogs.com/sea-stream/p/14192657.html