pyside2停止线程池中正在执行的任务
时间: 2023-05-20 16:01:54 浏览: 203
计算器-基于PySide2
可以使用QThreadPool的cancel函数来停止线程池中正在执行的任务。具体实现可以参考以下代码:
```python
import PySide2.QtCore as QtCore
class Worker(QtCore.QRunnable):
def __init__(self, func, *args, **kwargs):
super().__init__()
self.func = func
self.args = args
self.kwargs = kwargs
def run(self):
self.func(*self.args, **self.kwargs)
class ThreadPool(QtCore.QThreadPool):
def __init__(self):
super().__init__()
def start(self, func, *args, **kwargs):
worker = Worker(func, *args, **kwargs)
super().start(worker)
def cancel(self):
self.clear()
# 创建线程池
pool = ThreadPool()
# 向线程池中添加任务
pool.start(long_running_task)
# 停止线程池中正在执行的任务
pool.cancel()
```
注意,这里的long_running_task是一个长时间运行的任务,需要根据实际情况替换成你自己的任务函数。
阅读全文