python多线程

# 线程,进程
# 线程:是执行单位
# 进程:资源单位,一个进程至少有一个线程
from threading import Thread

def func():
    for i in range(1000):
        print("子线程",i)

if __name__ == "__main__":
    t = Thread(target=func) # 创建线程,安排任务
    t.start() # 开启线程状态 具体执行时间 由CPU分配

    for i in range(1000):
        print("主线程",i)

线程传参:

# 线程传参
from threading import Thread

def func(args):
    for i in range(1000):
        print(args,i)

if __name__ == "__main__":
    t1 = Thread(target=func,args=("线程1",)) # 线程传递的参数,必须是一个元组
    t1.start() # 开启线程状态 具体执行时间 由CPU分配

    t2 = Thread(target=func,args=("线程2",)) # 线程传递的参数,必须是一个元组
    t2.start() # 开启线程状态 具体执行时间 由CPU分配

    for i in range(1000):
        print("主线程",i)

线程池:

from concurrent.futures import ThreadPoolExecutor
def func(name):
    for i in range(1000):
        print(name,i)

if __name__ == "__main__":
    # 创建线程池 开50个线程
    with ThreadPoolExecutor(50) as t:
        for i in range(100): # 投递100个任务
            t.submit(func,name=f"线程{i}")
    # 线程池任务全部结束 才执行下面代码
    print("OK")

 

posted @ 2022-04-10 18:09  波罗斯の程序日记  阅读(33)  评论(0编辑  收藏  举报