我有一個cmd.Cmd類命令行解釋器,例如,初始化一個self.counter = Counter()。從外部停止運行while循環
調用'start'後,do_start()將調用self.counter.start(),並且self.counter啓動一個從0到無窮大的while循環。
計數器僞例如:
class Counter(object):
def __init__(self):
self.number = 0
self.running = False
def start():
self.running = True
while self.running:
self.number += 1
def status():
return self.number
def stop():
self.running = False
我怎麼能叫「狀態」在我cmd.Cmd類(調用do_status()),以獲得self.counter.status(),這將給當前已增加的數字?
如何在cmd.Cmd類中調用'stop'來獲取self.counter.stop()來停止while循環。
您是否意識到* start *函數內的'while'循環是部分無限的事實? – nbro
也許需要第二個線程來做到這一點。 – Marcin
「外部停止」 - 你的意思是來自另一個進程還是同一進程內? – cdarke