首页 > 编程语言 > 详细

python:多线程

时间:2019-10-18 15:54:44      阅读:55      评论:0      收藏:0      [点我收藏+]

多线程的简单使用

需求:同时执行多个方法

from time import sleep
import datetime


def listen_music():
    print(我在听音乐%s % datetime.datetime.now().strftime(%Y-%m-%d %H:%M:%S.%f))
    sleep(2)


def play_basketball():
    print(我在打篮球%s % datetime.datetime.now().strftime(%Y-%m-%d %H:%M:%S.%f))
    sleep(3)


if __name__ == __main__:
    listen_music()
    play_basketball()

输出:

技术分享图片

 

通过执行时间, 可以发现上面的方式只能串行执行方法,第一个方法执行完成才执行第二个。

多线程方法,同时执行

from time import sleep
import threading
import datetime


def listen_music():
    print(我在听音乐%s % datetime.datetime.now().strftime(%Y-%m-%d %H:%M:%S.%f))
    sleep(2)


def play_basketball():
    print(我在打篮球%s % datetime.datetime.now().strftime(%Y-%m-%d %H:%M:%S.%f))
    sleep(3)


if __name__ == __main__:
    t1 = threading.Thread(target=listen_music)
    t1.start()
    t2 = threading.Thread(target=play_basketball)
    t2.start()

输出:

技术分享图片

 

 可以发现他们是同一时刻开始执行,看上面的数据毫秒数都一样,是不是非常严格的并发执行呢?

其实也不存在严格的同时,只不过是t1.start()和t2.start()之间代码量少执行的很快所以毫秒数一样,

当代码中增加几行语句时,输出就不一致了:

技术分享图片

 

python:多线程

原文:https://www.cnblogs.com/gcgc/p/11698302.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!