位置: 编程技术 - 正文

Python实现简单多线程任务队列(python简单gui)

编辑:rootadmin

推荐整理分享Python实现简单多线程任务队列(python简单gui),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python如何编写多行代码,python简单么,python怎么运行多行代码,python如何编写多行代码,python如何编写多行代码,python 简单,python %s 多个,python如何编写多行代码,内容如对您有帮助,希望把文章链接给更多的朋友!

最近我在用梯度下降算法绘制神经网络的数据时,遇到了一些算法性能的问题。梯度下降算法的代码如下(伪代码):

一般来说,当网络请求 plot.ly 绘图时会阻塞等待返回,于是也会影响到其他的梯度下降函数的执行速度。

一种解决办法是每调用一次 plotly.write 函数就开启一个新的线程,但是这种方法感觉不是很好。 我不想用一个像 cerely(一种分布式任务队列)一样大而全的任务队列框架,因为框架对于我的这点需求来说太重了,并且我的绘图也并不需要 redis 来持久化数据。

那用什么办法解决呢?我在 python 中写了一个很小的任务队列,它可以在一个单独的线程中调用 plotly.write函数。下面是程序代码。

首先我们继承 Queue.Queue 类。从 Queue.Queue 类可以继承 get 和 put 方法,以及队列的行为。

初始化的时候,我们可以不用考虑工作线程的数量。

Python实现简单多线程任务队列(python简单gui)

我们把 task, args, kwargs 以元组的形式存储在队列中。*args 可以传递数量不等的参数,**kwargs 可以传递命名参数。

我们为每个 worker 创建一个线程,然后在后台删除。

下面是 worker 函数的代码:

worker 函数获取队列顶端的任务,并根据输入参数运行,除此之外,没有其他的功能。下面是队列的代码:

我们可以通过下面的代码测试:

Blokkah 是我们要做的任务名称。队列已经缓存在内存中,并且没有执行很多任务。下面的步骤是把主队列当做单独的进程来运行,这样主程序退出以及执行数据库持久化时,队列任务不会停止运行。但是这个例子很好地展示了如何从一个很简单的小任务写成像工作队列这样复杂的程序。

修改之后,我的梯度下降算法工作效率似乎更高了。如果你很感兴趣的话,可以参考下面的代码。

python的else子句使用指南 在日常coding中,分支语句的使用非常普遍,经常会根据是否满足一定的条件对代码执行的逻辑进行一些控制,所以大家对if[elif[else]]一定不会陌生。分支

python结合shell查询google关键词排名的实现代码 最近老婆大人的公司给老婆大人安排了一个根据关键词查询google网站排名的差事。老婆大人的公司是做seo的,查询的关键词及网站特别的多,看着老婆

用python写的一个wordpress的采集程序 在学习python的过程中,经过不断的尝试及努力,终于完成了第一个像样的python程序,虽然还有很多需要优化的地方,但是目前基本上实现了我所要求的

标签: python简单gui

本文链接地址:https://www.jiuchutong.com/biancheng/383336.html 转载请保留说明!

上一篇:如何在Python中编写并发程序(python编写代码的步骤)

下一篇:python的else子句使用指南(python中else语句)

  • 没有发票的费用可以抵扣企业所得税吗
  • 小规模季超30万,蔬菜还免增值税吗
  • 广告公司如何经营管理
  • 企业资产折旧抵扣所得税
  • 预收账款转收入附单据吗
  • 已提完折旧车辆可以卖吗
  • 收到的财政补贴如何做账
  • 超出发票使用范围
  • 如何填写增值税及附加税费申报表
  • 个人独资企业免税销售额
  • 施工工人个税怎么计算?
  • 学校管理费是什么意思
  • 增值税不征税收入的三个条件
  • 旅游业适用差额征税政策时如何开具发票?
  • 销售退回怎么开票
  • 残疾人保障金中上年在职职工人数怎么计算
  • 股东转让股份怎么转让
  • 固定资产内部调拨流程
  • 个税多申报了实发没有这么多,如何处理
  • 所得税会计方法有哪几种
  • 事业单位固定基金属于什么科目
  • 管理费用明细是什么意思
  • 仪器购买税率
  • 库存商品的进项可以抵扣吗
  • 分配车间管理人员薪酬会计分录
  • 销售返点怎么做分录
  • 房地产转让的条件
  • 在电脑上网页打不开怎么办
  • win8快捷键大全
  • thinkphp i方法
  • 手工明细分类账本怎么记
  • php中数组的常用函数及用法
  • 包装物损坏无法确认
  • 存货盘亏能否税前扣除
  • 金融工具减值会影响什么
  • msmpeng.exe 是什么
  • 企业所得税减免20%按5%征收
  • 集团与子公司资产的关系
  • idea搭建web开发环境
  • php基于单例模式开发
  • 兼职员工的工资怎么发放
  • 实际库存小于账面库存
  • 代收代付业务需要开发票吗
  • 固定资产处置金额是什么意思
  • 材料发票和工程发票的区别
  • 增值税专票和普票的区别图片
  • 金蝶怎么设置销售出库单模板
  • 工资表中可以出现减号的情况吗
  • python3 yaml模块
  • 以前年度多计提折旧
  • 长期待摊费用账务处理包括哪两部分
  • 增值税品种
  • 收到以前年度多交增值税账务处理怎么做账
  • 清算时存货是否要交税
  • 个人所得税的征收
  • 应付职工薪酬科目余额表怎么看
  • 工程物资残料价值
  • 员工社保报销流程
  • 公司对员工的罚款有什么标准
  • 应付职工薪酬账户贷方登记的是
  • 增值税计入固定资产的成本吗
  • 支出费用的区别
  • 税控盘的会计分录怎么做
  • 法定盈余公积是什么
  • windows锁定用户
  • Windows 2000中NTFS磁盘权限应用
  • Windows虚拟机怎么打开
  • centos 安装7z
  • Win8.164位/32位KB3096053补丁下载 主要修复KB3069114安装问题
  • win8系统怎么还原出厂设置
  • win10正式版多少钱
  • 怎么从win8装回win7
  • 电脑win10显卡驱动
  • linuxat命令的用法
  • nodejs最佳实践
  • vue中父组件向子组件传递数据
  • javascript 代码
  • node.js开发实战详解
  • unity游戏开发的技术
  • js层级选择器
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设