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 @   波罗斯の程序日记  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示