PythonPyside线程停止/终止-使用exec执行mutliline代码

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 =

我遇到的问题是在python中强制停止线程。线程的任务是执行用户输入的python代码。我希望能够杀死线程,不管用户按下Gui上的按钮时线程在做什么

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的多处理包中的进程来创建一个执行代码的进程,并使用它来挂起/终止线程中的进程