zoukankan      html  css  js  c++  java
  • python3 开启多线程的两种写法

    写法一

    import time
    from threading import Thread
    
    
    def func(name):
        print(f"{name}开始")
        time.sleep(0.5)
        print(f"{name}结束")
    
    
    if __name__ == '__main__':
        t1 = Thread(target=func, args=("线程1",))
        t2 = Thread(target=func, args=("线程2",))
        t1.start()
        t2.start()
        print("主线程结束")

    执行结果:

    线程1开始
    线程2开始
    主线程结束
    线程1结束
    线程2结束

    写法二

    import time
    from threading import Thread
    
    
    class MyThread(Thread):
        def __init__(self, name):  # 可以通过初始化来传递参数
            super(MyThread, self).__init__()
            self.name = name
    
        def run(self):  # 必须有的函数
            print(f"{self.name}开始")
            time.sleep(0.2)
            print(f"{self.name}结束")
    
    
    if __name__ == '__main__':
        t1 = MyThread("线程1")  # 创建第一个线程,并传递参数
        t2 = MyThread("线程2")  # 创建第二个线程,并传递参数
        t1.start()  # 开启第一个线程
        t2.start()  # 开启第二个线程
        print("主线程执行结束,子线程是依附于主线程存在的,所以,子线程都结束后,主线程才真正的结束。")

    执行结果:

    线程1开始
    线程2开始
    主线程执行结束,子线程是依附于主线程存在的,所以,子线程都结束后,主线程才真正的结束。
    线程1结束
    线程2结束

    两种写法效果是一样的。

  • 相关阅读:
    AMap公交线路查询
    AMap行政区查询服务
    使用JavaScript的Join方法
    获取layer.open弹出层的返回值
    MVC项目中WebViewPage的实战应用
    ASP.NET管道
    Android接收系统广播
    python字符串转换成数字
    mysql缓存
    两个矩阵对应位置的数据相加,并返回一个矩阵
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/12054441.html
Copyright © 2011-2022 走看看