首页
学习
活动
专区
圈层
工具
发布
30 篇文章

十、python学习笔记-线程-多线程演示(IO密集型)

代码语言:javascript
复制
# 演示多线程,说明多线程对IO密集型操作有明显优化
"""
1、foo1 循环2次,每次sleep时间2秒,执行完是4秒,foo2 循环5次,每次sleep时间1秒,执行完是5秒,并且是交替执行
2、如果是单线程需要9秒以上,多线程需要5秒以上,并且是顺序执行
3、只有循环都结束后,主线程才会打印‘主线程结束’,说明join会阻塞主线程
"""

import threading
import time


def foo1():
    for i in range(1, 3):
        print('foo1 函数第{}执行'.format(i))
        time.sleep(2)


def foo2():
    for i in range(1, 6):
        print('foo2 函数第{}执行'.format(i))
        time.sleep(1)


if __name__ == '__main__':
    start_time = time.time()
    t1 = threading.Thread(target=foo1)
    t2 = threading.Thread(target=foo2)

    t1.start()
    t2.start()

    t1.join()
    t2.join()

    end_time = start_time - time.time()

    print('主线程结束执行时间{}'.format(end_time))
举报
领券