Python

python 线程的启动和停止

2022-05-30  本文已影响0人  孙广宁
12.1 我们用python创建一个线程,并在合适的时候销毁
>>> import time
>>> def c(n):
...     while n>0:
...         print("T-minus",n)
...         n -=1
...         time.sleep(3)
...
>>> from threading import Thread
>>> t = Thread(target=c,args=(10,))
>>> t.start()
T-minus 10
T-minus 9
T-minus 8
T-minus 7
T-minus 6
T-minus 5
T-minus 4
T-minus 3
T-minus 2
T-minus 1
>>> if t.is_alive():
...     print("still running")
... else:
...     print("finish")
...
finish
>>> t.join()
>>> t =Thread(target=c,args=(10,),daemon=True)
>>> t.start()
  • 除了join和daemon外,对于python线程没有太多别操作可以做了
  • 如果想要终止线程,给线程发信号等这些操作都需要自定义
>>> class C:
...     def __init__(self):
...         self._running=True
...     def terminate(self):
...         self._running=False
...     def run(self,n):
...         while self._running and n>0:
...             print("T-minus",n)
...             n -=1
...             time.sleep(5)
...
>>> c =C()
>>> t =Thread(target=c.run,args=(10,))
>>> t.start()
T-minus 10
T-minus 9
>>> c.terminate()
上一篇 下一篇

猜你喜欢

热点阅读