python系列——多线程中start和run方法的区别

参考博客:

https://www.cnblogs.com/i-honey/p/8043648.html

https://blog.csdn.net/chenpkai/article/details/70943609

总结就是:

  • start() 方法是启动一个子线程,在该子线程中执行run方法,而线程名就是我们定义的name
  • run() 方法并不启动一个新线程,就是在主线程中调用了一个普通函数而已。

 

因此,如果你想启动多线程,就必须使用start()方法。

具体例子:

import threading
import time
class MyThread(threading.Thread):
    def __init__(self,name):
        threading.Thread.__init__(self)
        self.name = name
    def run(self):
        print("Hello %s"%self.name)
        time.sleep(3)

if __name__ == "__main__":
    t1=MyThread("zhangsan")
    t2=MyThread("lisi")
    t1.start()
    t2.start()

你可能感兴趣的:(python,python)