python进程暂停_如何在Python中暂停多进程?
我希望用户能够在怎么开始的实现它?在
我的代码是:# -*- coding: utf-8 -*-
from PySide import QtCore, QtGui
from Ui_MainWindow import Ui_MainWindow
from queue import Queue
import sys
import multiprocessing, os, time
def do_work():
print ('Work Started: %d' % os.getpid())
time.sleep(1)
return 'Success'
def manual_function(job_queue, result_queue):
while not job_queue.empty():
try:
job = job_queue.get(block=False)
result_queue.put(do_work())
except Queue.Empty:
pass
class Worker(QtCore.QThread):
def __init__(self,name):
QtCore.QThread.__init__(self)
self.name = name
self.pause = False
def run(self):
job_queue = multiprocessing.Queue()
result_queue = multiprocessing.Queue()
for i in range(1000):
job_queue.put(None)
self.workers = []
for i in range(6):
tmp = multiprocessing.Process(target=manual_function, args=(job_queue, result_queue))
tmp.start()
self.workers.append(tmp)
def paused(self):
'''
pause / resumme ?????????????????????????
'''
def stop(self):
for worker in self.workers:
print ("end")
worker.terminate()
worker.join()
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.connect(self.ui.actionStart, QtCore.SIGNAL('triggered()'),self.start)
self.connect(self.ui.actionStop, QtCore.SIGNAL('triggered()'),self.stop)
self.connect(self.ui.actionPause, QtCore.SIGNAL('triggered()'),self.pause)
def pause(self):
self.work.paused()
def stop(self):
self.work.stop()
def start(self):
self.threads = []
for tName in range(1):
self.work = Worker("Thread-%s"%tName)
self.threads.append(self.work)
self.work.start()
if __name__ == "__main__":
app = QtGui.QApplication (sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
如何在Python中暂停按钮点击多处理过程?在
python进程暂停_如何在Python中暂停多进程?相关推荐
- python 线性回归模型_如何在Python中建立和训练线性和逻辑回归ML模型
python 线性回归模型 Linear regression and logistic regression are two of the most popular machine learning ...
- unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?
Python是增长最快的主要通用编程语言.原因有很多,比如它的可读性和灵活性,易于学习和使用,可靠和高效. 有两个主要的Python版本被使用- 2和3 (Python的现在和未来);前者将看不到新的 ...
- python 拟合正态分布_如何在Python中拟合双高斯分布?
我试图使用Python获得数据(link)的双高斯分布.原始数据的格式为: 对于给定的数据,我想获得图中所示峰值的两个高斯分布.我用以下代码(source)进行了尝试:from sklearn imp ...
- python 概率分布函数_如何在Python中实现这五类强大的概率分布
匿名用户 1级 2016-04-25 回答 首页 所有文章 观点与动态 基础知识 系列教程 实践项目 工具与框架应用 工具资源 伯乐在线 > Python - 伯乐在线 > 所有文章 &g ...
- python mqtt库_如何在 Python 中使用 MQTT
Python 是一种广泛使用的解释型.高级编程.通用型编程语言.Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词).Python 让开发者能 ...
- python 获取当前目录_如何在Python中获取当前的工作目录?
python 获取当前目录 To get the current working directory in Python, there is a library function getcwd() i ...
- eclipse配置python开发环境_如何在Eclipse中配置python开发环境
展开全部 步骤1: 下载用于在2113Eclipse中开发Python的插件PyDev. 步骤2: 解压5261python.将解压后的features和plugins文件4102夹中的1653内容拷 ...
- win10系统64位安装python什么版本_如何在win10中安装Python
本文主要讲解win10如何安装python,希望对初学的小伙伴有帮助.环境:win 10 64位操作系统1.python下载https://www.python.org/downloads/2.x和3 ...
- python标题行_如何在python datafram中更改标题行
在python中使用pandas更改现有数据帧中的头行时遇到问题.导入pandas和csv文件后,我将一个标题行设置为None,以便能够在转置后删除重复的日期.但是这会留下一个我不想要的行标题(实际上 ...
最新文章
- Docker使用笔记
- Design Pattern - Flyweight(C#)
- 循环: 打印1~10
- Android插件化技术调研
- vc++ cserialport 打开多个串口_STM32之USART串口
- 水瓶与天蝎的八年爱恋(图
- JavaFX鼠标滚动放大缩小图片
- linux 关机命令总结
- 我们前端忙成狗 人家后端写sql?
- php mysql 一级分类_无限级分类 for PHP+Mysql
- linux全网备份的原理,Linux面试题分享:Rsync(全网备份)和NFS(文件系统)
- tf2.1下生成yolo.h5文件
- 防脱洗发水是个伪命题?8979 条数据告诉你答案!
- XAMPP mysql远程连接
- matlab转换器dcdc,关于如何用 Simulink 设计 DC/DC 转换器的分析和介绍
- 三层vxlan原理_VXLAN技术在园区网的应用探讨
- python用函数求一个数的所有因数_python编程从零基础到项目实践第六章学习---函数 一个完整的求因数函数的完善步骤...
- nlohmann json使用
- 如何使域名跳转到个人博客
- 韩寒等50名作家3.15联袂声讨百度侵权