PythonPyside线程停止/终止-使用exec执行mutliline代码
我遇到的问题是在python中强制停止线程。线程的任务是执行用户输入的python代码。我希望能够杀死线程,不管用户按下Gui上的按钮时线程在做什么PythonPyside线程停止/终止-使用exec执行mutliline代码,python,multithreading,pyside,Python,Multithreading,Pyside,我遇到的问题是在python中强制停止线程。线程的任务是执行用户输入的python代码。我希望能够杀死线程,不管用户按下Gui上的按钮时线程在做什么 class WorkerThread(QtCore.QThread): def __init__(self, parent=None, code): QtCore.QThread.__init__(self, parent) self.parent = parent self.mutex =
class WorkerThread(QtCore.QThread):
def __init__(self, parent=None, code):
QtCore.QThread.__init__(self, parent)
self.parent = parent
self.mutex = QtCore.QMutex()
self.code = compile(code,'<string>','exec')
def run(self):
self.mutex.lock()
exec self.code
self.mutex.unlock()
class WorkerThread(QtCore.QThread):
定义初始化(self,parent=None,代码):
QtCore.QThread.\uuuuu init\uuuuu(self,parent)
self.parent=parent
self.mutex=QtCore.QMutex()
self.code=compile(代码,,'exec')
def运行(自):
self.mutex.lock()
exec self.code
self.mutex.unlock()
终止线程的最佳方法是什么?
我尝试过使用WorkerThread.terminate(),但这会终止整个程序,甚至主gui
还是有更好的方法来执行python代码
编辑:
我做了更多的研究,我找不到一种不破坏主进程的安全终止线程的方法,所以我将使用python的多处理包中的进程来创建一个执行代码的进程,并使用它来挂起/终止线程中的进程