Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 实例不会消亡_Python - Fatal编程技术网

Python 实例不会消亡

Python 实例不会消亡,python,Python,我有3台设备。设备A与设备C通信。设备B嗅探连接。我的代码工作正常,但我不明白为什么解码器对象在线程退出后(即控件为真时)仍在嗅探连接 Decoder类对设备A和C之间的数据包进行解码,并且没有任何循环机制(当它作为单个脚本运行时,它运行一次,然后退出) 下面是代码的简化版本(在设备B上运行),问题在于: class Thread_Class(Flag): def run(self): while(control == False): self.p

我有3台设备。设备A与设备C通信。设备B嗅探连接。我的代码工作正常,但我不明白为什么
解码器
对象在线程退出后(即
控件
真时
)仍在嗅探连接

Decoder类对设备A和C之间的数据包进行解码,并且没有任何循环机制(当它作为单个脚本运行时,它运行一次,然后退出)

下面是代码的简化版本(在设备B上运行),问题在于:

class Thread_Class(Flag):
    def run(self):
        while(control == False):
            self.parent.object.loop(0, self.handle_packets)

    def handle_packets(self, ...):
        # packet handling code using pcapy library
        packet = ...

        self.parent.decoder = Decoder(self)
        self.parent.decoder.decode(packet)

好的,我解决了。。。我在最后两行周围放置了一个
if control==False

什么是
self.parent.object.loop()
?它不是循环吗?@NPE它只是一个接收数据包的pcapy函数。问题不在这里。如果我对上面代码的最后两行进行注释,线程将退出。您确实没有显示足够的代码来调试它。对
self.parent.object.loop
的单个调用是否会重复调用
处理\u数据包?在哪里以及如何将
控件设置为非False?
Decoder.decode
到底做什么?它能阻挡吗?