首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除旧线程并启动新线程?

如何删除旧线程并启动新线程?
EN

Stack Overflow用户
提问于 2016-11-20 17:50:24
回答 1查看 239关注 0票数 0

我刚刚开始学习python,我对闪烁LED的项目有问题。当我收到新消息并启动新线程时。旧线程仍在运行。我想杀死旧的线程并启动新的线程。如何解决我的问题?(如果我的英语不好,很抱歉,但我正在努力)

代码语言:javascript
复制
def led_action(topic,message):
    print topic+" "+message

    if message == 'OFF':
        #state = False
        print ("Stoping...")
        while message == 'OFF':
            GPIO.output(8,GPIO.LOW)

    elif message == 'ON':
        #state = True
        print ("Opening...")
        while message == 'ON':
            GPIO.output(8,GPIO.HIGH)    #Set LED pin 8 to HIGH
            time.sleep(1)           #Delay 1 second
            GPIO.output(8,GPIO.LOW)     #Set LED pin 8 to LOW
            time.sleep(1)

# Get message form NETPIE and Do something 
def subscription(topic,message):
    set = thread.start_new_thread(led_action, (topic,message))

def connection():
    print "Now I am connected with netpie"

def disconnect():
     print "disconnect is work"

microgear.setalias("test")
microgear.on_connect = connection
microgear.on_message = subscription
microgear.on_disconnect = disconnect
microgear.subscribe("/mails")
microgear.connect(True)
EN

Stack Overflow用户

发布于 2016-11-20 18:14:48

要终止Python线程,您需要退出您的函数。您可以通过删除while message == 'ON'/'OFF'检查来完成此操作。因为消息无论如何都不会改变(它被传递给函数led_action),所以这些检查是不必要的。

票数 -1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40702648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档