実現したいこと
並列に複数実行しているwhileループを ctrl+Cキーあるいは別のキーを入力すると停止するようにしたい
また、GPIOモジュールを使っているので 停止後に GPIO.cleanup() を実行したい
前提
whileループの入った複数のdef関数を threadingで同時に実行したいのですが
止め方がわかりません
処理すべてを一度に停止して、その後 GPIO.cleanup() を実行する方法を教えてください
該当のソースコード
python
1def loop_1 ():2 while True:3 ###省略4 5def loop_2 ():6 while True: 7 ###省略8 9if __name__ == "__main__":10 thread_1 = threading.Thread(target=loop_1)11 thread_2 = threading.Thread(target=loop_2)12 13 thread_1.start()14 thread_2.start()15
試したこと
python
1def loop_1 ():2 while True:3 try:4 except KeyboardInterrupt:5 break6
KeyboardInterruptを実行しても
処理が続行してしまいます
補足情報(FW/ツールのバージョンなど)
環境 raspberrypi4bからThonny Python IDEで実行
(私はまだclassを理解できていないので
出来れば 使わないやりかたでお願いします)

0 コメント