溫馨提示×

python中qthread線程怎么安全退出

小億
279
2023-10-16 13:28:18
欄目: 編程語言

要安全退出QThread線程,可以通過設(shè)置一個(gè)退出標(biāo)志來控制線程的執(zhí)行,當(dāng)需要退出線程時(shí),將退出標(biāo)志設(shè)置為True,然后在線程的run()方法中根據(jù)退出標(biāo)志來判斷是否退出線程。

下面是一個(gè)示例代碼:

from PyQt5.QtCore import QThread, pyqtSignal
class MyThread(QThread):
exitThread = pyqtSignal()  # 自定義信號
def __init__(self):
super().__init__()
self.isRunning = True
def run(self):
while self.isRunning:
# 線程執(zhí)行的代碼
# 檢查退出標(biāo)志
if self.isRunning:
# 執(zhí)行線程任務(wù)
pass
else:
# 執(zhí)行退出操作
break
def stop(self):
self.isRunning = False
# 在主線程中創(chuàng)建并啟動(dòng)線程
thread = MyThread()
thread.start()
# 在需要退出線程的地方調(diào)用stop()方法
thread.stop()

在上面的代碼中,定義了一個(gè)exitThread信號和一個(gè)isRunning標(biāo)志,通過stop()方法將isRunning標(biāo)志設(shè)置為False,然后在run()方法中根據(jù)isRunning標(biāo)志來判斷是否退出線程。

當(dāng)需要退出線程時(shí),只需調(diào)用stop()方法即可安全退出線程。

0