【发布时间】:2012-06-29 12:19:21
【问题描述】:
我有以下代码:
def query(self,query):
lock = QMutexLocker(self.mutex)
reply = self.conn.query(query)
if (re.search("error", reply) != None):
raise GeneralError("Query error")
#more code...
return reply
现在,如果抛出异常,锁似乎没有被删除,导致互斥锁没有被释放。我当然可以到处做“del lock”,但这会带走qmutexlocker的全部意义。这与 Python 垃圾收集有关吗?如果是这样,那一定意味着 QMutexLocker 在 Python 中根本不可用?
【问题讨论】: