擅长:python、mysql、java
<p>虽然我不清楚你的意图。下面是如何在线程的run方法被覆盖的情况下对其进行子类化,并有条件地启动它</p>
<pre><code>import threading
class TAlarm1 (threading.Thread):
def run(self):
n =4
while True:
#code which keeps running until the time is equal to the input given (expected to thread)
print(n,end=' | ')
n -= 1
if n < 0:
break
print()
t1 = TAlarm1()
if True:
t1.start()
</code></pre>
<p>线程只能启动一次,因此每次需要运行时都必须创建一个新线程</p>
<pre><code>>>> t = TAlarm1()
>>> t.start()
4 | 3 | 2 | 1 | 0 |
>>> t.start()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python38\lib\threading.py", line 848, in start
raise RuntimeError("threads can only be started once")
RuntimeError: threads can only be started once
>>> t = TAlarm1()
>>> t.start()
4 | 3 | 2 | 1 | 0 |
>>>
</code></pre>