zoukankan      html  css  js  c++  java
  • python:多线程

    多线程的简单使用

    需求:同时执行多个方法

    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()之间代码量少执行的很快所以毫秒数一样,

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

  • 相关阅读:
    dw2018修改为中文
    C# 响应一个html页面
    layui 时间控件 单击 年直接赋值
    js 正则 测试
    python之读取和写入csv文件
    python安装与配置
    hive支持sql大全
    HiveQL与SQL区别
    Hadoop插件安装
    简单算法学习之快速排序详解
  • 原文地址:https://www.cnblogs.com/gcgc/p/11698302.html
Copyright © 2011-2022 走看看