実現したいこと

並列に複数実行している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を理解できていないので
出来れば 使わないやりかたでお願いします)