Python的单线程与多线程

import threading                             #引入所需要的库
import time

def a():                                    #创建任务a
    for i in range(3):                      #打印输出“线程1”,循环3遍,每一遍间隔1秒
        print("线程1")
        time.sleep(1)

def b():                                    #创建任务b
    for i in range(3):                      #打印输出“线程2”,循环3遍,每一遍间隔1秒
        print("线程2")
        time.sleep(1)

def c():                                    #创建任务c
    for i in range(3):                      #打印输出“线程3”,循环3遍,每一遍间隔1秒
        print("线程3")
        time.sleep(1)

def danmain():                              #创建单线程任务,单线程大概需要9秒
    a()
    b()
    c()

def duomain():                              #创建多线程任务,多线程是三个任务一起执行,大概是3秒
    t1 = threading.Thread(target=a)         #创建第一个线程t1,执行任务a
    t2 = threading.Thread(target=b)         #创建第二个线程t2,执行任务b
    t3 = threading.Thread(target=c)         #创建第三个线程t3,执行任务c

    t1.start()                              #启动线程t1
    t2.start()                              #启动线程t2
    t3.start()                              #启动线程t3

    t1.join()                               #等待线程t1结束,再执行主线程打印输出任务
    t2.join()                               #等待线程t2结束,再执行主线程打印输出任务
    t3.join()                               #等待线程t3结束,再执行主线程打印输出任务

if __name__ == '__main__':              #主线程
    print("开始测试单线程:")
    tt0 = time.time()  # 记录任务开始时的时间
    danmain()  # 启动任务
    tt00 = time.time()  # 记录任务结束时的时间
    tt = tt00 - tt0  # 计算时间差值,即任务执行所花费的时间
    print("单线程共计消耗", tt, "秒")  # 打印输出任务执行所花费的时间

    print("开始测试多线程:")
    tt1 = time.time()  # 记录任务开始时的时间
    duomain()  # 启动任务
    tt11 = time.time()  # 记录任务结束时的时间
    tt = tt11 - tt1  # 计算时间差值,即任务执行所花费的时间
    print("多线程共计消耗", tt, "秒")  # 打印输出任务执行所花费的时间

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值