Raspberry Pi3 - Python3:GPIO.add_event_detect 是否需要 "while true" 循环?

Raspberry Pi3 - Python3: does GPIO.add_event_detect needs a "while true" loop?

我在网上阅读了一些 GPIO 中断文档,例如 this,还有一个问题留给我:需要在 python 脚本中使用 GPIO.add_event_detect(<PIN>, <GPIO.EDGE>, callback=<some callback function>, bouncetime=<int>) 以获得 while true 在同一脚本中循环到 运行 此脚本 "endless" 以便处理回调例程?

让我们更清楚一点。我的脚本应该是这样的:

    import RPi.GPIO as GPIO

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(6, GPIO.OUT)

    def my_interrupt_routine(channel):
         #do something here
    GPIO.add_event_detect(6, GPIO.FALLING, callback=my_interrupt_routine, bouncetime=200)
    try:
        while True:
            pass

    except KeyboardInterrupt:
        #do something here

    finally:
        GPIO.cleanup() 

那么对于这个脚本 - 是否需要 while true: 循环让中断处理程序等待 Pin6 上的下降沿,或者我可以只激活处理程序并结束程序? 我问这个是因为我读了很多关于使用中断处理程序与轮询 GPIO-Pin 的优势的文章。在我看来,这个 while true: 循环与在 Pin 图上轮询几乎一样。
我曾经在 Java 开发过。在那里你定义中断 handler/listener 然后在世界另一端的某个地方你可以处理事件。我认为这在 Python 中行不通,对吧?

我试了一下,结果是使用GPIO.add_event_detect()命令在脚本中有一个while True循环是绝对必要的。否则脚本就结束了,后台没有事件侦听器 运行ning(如我所料)。显然这个循环对系统资源的需求是很低的。
这个脚本将是我在 GPIO 接口上发生的每个中断的侦听器,因此我假设我必须在我的 Raspberry Pi 启动期间启动它并让它一直 运行。
如果有人建议如何 "fire and forget" 并在 Python(3) 中吸引听众,我们将不胜感激。