У меня есть интерпретатор командной строки класса cmd.Cmd, который, например, инициализирует self.counter = Counter().Внешняя остановка работы во время цикла
После вызова «start» do_start() вызовет self.counter.start(), а self.counter запустит цикл while, который отсчитывает от 0 до бесконечности.
ПСЕВДОКОД пример счетчика:
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(), который даст ток число, которое было увеличено?
И как я могу называть «stop» в моем классе cmd.Cmd, чтобы получить self.counter.stop(), чтобы остановить цикл while.
Знаете ли вы, что цикл 'while' внутри функции * start * является частичным бесконечным? – nbro
может понадобиться вторая нить, чтобы сделать это. – Marcin
«Внешняя остановка» - вы имеете в виду от другого процесса или в рамках одного процесса? – cdarke