会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132358个问题
Python 全系列/第三阶段:Python 网络与并发编程/并发编程 886楼
Python 全系列/第三阶段:Python 网络与并发编程/并发编程 889楼
Python 全系列/第三阶段:Python 网络与并发编程/并发编程 895楼

from threading import Thread
from time import sleep,time
import threading
# Thread:线  
# 线程的实现
# 方法包装

# 创建普通方法
def func1(name):
    print(threading.currentThread())
    print(f"Threading:{name} start")  # f:输出一下哪个线程启动了,print语句一般都是提示信息,
    sleep(3)                           #不加也可以只是不会输出在控制台上(这里指的是name)
    print(f"Threading:{name} end")

if __name__ == "__main__":

    print(threading.currentThread())   # 打印默认的主线程 <_MainThread(MainThread, started 1068)>
    # 开始时间
    start = time()   # 时间测试
    '''
    # 创建线程
    t1 = Thread(target=func1,args=('t1',))  # t1后面加, 必须是元组     # 创建的是子线程
    t2 = Thread(target=func1,args=("t2",))
    # 开始时间
    start = time()
    # 开始线程
    t1.start()
    t2.start()
    # 等待t1线程执行完再往下执行
    t1.join()
    # 等待t2线程执行完再往下执行
    t2.join()
    #func1("t1")
    #func1("t2")
    '''
    thread_list = []
    for i in range(10):
        t = Thread(target=func1,args=(f"t{i+1}",))
        t.start()
        thread_list.append(t)
    for t in thread_list:
        t.join()    # join的使用 不要启动线程后立即join(),容易造成串行运行,导致并发失效
    # 结束时间
    end = time()-start
    print(end)

老师 这里多任务的实现是用了多线程模式方法吗 这里循环10个进程是子线程 主线程只有一个 就是MainThread吗

Python 全系列/第三阶段:Python 网络与并发编程/并发编程 899楼
Python 全系列/第三阶段:Python 网络与并发编程/并发编程 900楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637