Python中Thread类的start和run方法的区别

发布网友 发布时间:2022-04-26 23:47

我来回答

2个回答

热心网友 时间:2022-04-18 06:15

这两个方法都能开始线程活动,但是用法不同,其区别与Java Thread类中start()和run()的区别类似。

先来看官方文档的说明:


翻译过来就是:

start()方法

开始线程活动。

对每一个线程对象来说它只能被调用一次,它安排对象在一个另外的单独线程中调用run()方法(而非当前所处线程)。

当该方法在同一个线程对象中被调用超过一次时,会引入RuntimeError(运行时错误)。

run()方法

代表了线程活动的方法。

你可以在子类中重写此方法。标准run()方法调用了传递给对象的构造函数的可调对象作为目标参数,如果有这样的参数的话,顺序和关键字参数分别从args和kargs取得。

为了测试写了如下代码:

[python] view plain copy

热心网友 时间:2022-04-18 07:33

run()是线程在运行时要执行的方法。
start()是启动线程的方法。
线程启动后执行run方法

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com