Python 在调用插槽之前断开插槽是否安全?

Python 在调用插槽之前断开插槽是否安全?,python,signals,pyqt4,signals-slots,Python,Signals,Pyqt4,Signals Slots,我有几个对象需要更新。更新在单独的线程中完成,结果将通过pyqtSignal传输到对象。因此,更新方法在所有对象上循环,如下所示: 对象类: class MyObject(QObject): def __init__(self, id): QObject.__init__(self) self.id = id def catch_result(self, id, res): if id == self.id:

我有几个对象需要更新。更新在单独的线程中完成,结果将通过
pyqtSignal
传输到对象。因此,更新方法在所有对象上循环,如下所示:

对象类:

class MyObject(QObject):
    def __init__(self, id):
        QObject.__init__(self)

        self.id = id

    def catch_result(self, id, res):
        if id == self.id:
            # do something with res
工人阶级:

class Worker(QObject):

    result = pyqtSignal('QString', 'QString')

    def __init__(self):
        QObject.__init__(self)

        self.objects = []
        # create some objects here

    def update_one(self, obj):
        # do some computation -> will produce res
        self.result.emit(obj.id, res)

    def update_all(self):
        for obj in objects:
            self.result.connect(obj.catch_result)
            self.update_one(obj)
            self.result.disconnect(obj.catch_result)  # is this safe?
插槽
catch_result
与信号
result
断开连接的那一刻,该信号已经发出。据我目前所知,在发出信号后,它将被放入接收方队列并进行相应的处理。但是,假设在调用插槽之前信号已断开,插槽是否仍能正确执行?在调用插槽之前但在发出相应信号之后断开插槽是否可以保存