muszę obsługiwać sygnały w moim kodu i używam globalny stan podzielić między funkcjami:Co to jest Pythonowy sposób udostępniania stanu w jednym module?
exit = False
def setup_handler():
signal.signal(signal.SIGTERM, handler)
def handler(num, frame):
global exit
exit = True
def my_main():
global exit
while not exit:
do_something()
if __name__ == '__main__':
setup_handler()
my_main()
Czy istnieje sposób, aby uniknąć zmienną globalną w tym przypadku? Jaki jest najlepszy sposób na dzielenie się stanem w tym przypadku?
Czy naprawdę chcesz robić 'do_something' tak szybko, jak pozwala na to procesor? Jeśli masz na myśli określoną rozdzielczość czasową, powinieneś nazwać 'my_main' z' handler' co każde 'n' sekund. –
@Asad to uproszczony kod dla jasności. Nie działa tak szybko, jak pozwala na to procesor. – Cory