码迷,mamicode.com
首页 > 编程语言 > 详细

python:多线程

时间:2019-10-18 15:41:13      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:开始   mic   strong   music   start   get   输出   date   play   

多线程的简单使用

需求:同时执行多个方法

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:多线程

标签:开始   mic   strong   music   start   get   输出   date   play   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!