停止两个循环线程连续接收和发送数据

2024-04-26 21:27:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中使用线程时遇到了一些问题。 由于某些原因,我必须创建两个线程。每个线程都在执行几乎相同的操作: 接收并发送数据的循环。 我的问题是:我不知道如何阻止这些线程。数据连续发送。 我试着用“键盘中断”和myThread.daemon程序,但循环仍在控制台中运行。 所以,如果你知道一个解决方案来阻止他们(用CTRL+C或者按下一个键),我会很高兴的。你知道吗

以下是我的代码的全局功能:

#=========#
#Thread 1 #
#=========#
class ThreadEmissionSerie1(threading.Thread):
        def __init__(self):
                threading.Thread.__init__(self)
        def run(self):

                variable = 0
                while 1:
                        try:
                                print "variable 1 : ", variable
                                variable += 2
                        except:
                                pass

#=========#
#Thread 2 #
#=========#
class ThreadEmissionSerie2(threading.Thread):
        def __init__(self):
                threading.Thread.__init__(self)
        def run(self):
                variable = 0
                while 1:
                        try:
                                print "variable 2 : ", variable
                                variable += 3
                        except:
                                pass


print "starting the threads"

th_E1 = ThreadEmissionSerie1()
th_E2 = ThreadEmissionSerie2()

th_E1.daemon = True
th_E2.daemon = True
th_E1.start()
th_E2.start()

我希望有人能帮我:) 这个程序应该在Windows和Linux上运行 谢谢, 亚瑟


Tags: self程序initdef线程variablethreaddaemon