专栏首页Petrichor的专栏python多进程打印进度条

python多进程打印进度条

import time
from tqdm import tqdm
import multiprocessing as mp


def pickle_process(_class, *args):
    return _class.proc_func(*args)


class OP():
    def __init__(self):
        self.length = 64

    def proc_func(self):
        time.sleep(0.1)

    def flow(self):
    	# ------------- 配置好进度条 ------------- 
        pbar = tqdm(total=self.length)
        pbar.set_description(' Flow ')
        update = lambda *args: pbar.update()
        # --------------------------------------
        pool = mp.Pool(16)
        for _ in range(self.length):
            pool.apply_async(pickle_process, args=(self, ), callback=update)	# 通过callback来更新进度条
        pool.close()
        pool.join()


if __name__ == '__main__':

    start_time = time.time()
    op = OP()
    op.flow()
    print(time.time() - start_time)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python多进程写同一个list/dict

    JNingWei
  • leetcode: 99. Recover Binary Search Tree

    JNingWei
  • 图像处理: 超像素(superpixels)分割 SLIC算法

    超像素概念是2003年Xiaofeng Ren提出和发展起来的图像分割技术,是指具有相似纹理、颜色、亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块。它利...

    JNingWei
  • Python学习(七)---- 面向对象学习(类)

    原文地址: https://blog.csdn.net/fgf00/article/details/52449707 编辑:智能算法,欢迎关注!

    智能算法
  • 探究ReactiveCocoa 底层KVO封装流程

    但是RACKVO只是用了非常简单的一段代码就实现了以上的这三个步骤,去掉了胶水代码,真正的做到了面向业务开发,那它是怎么实现的呢,接下来我们来一层层分析

    iOSSir
  • Python学习——数据模型/特殊方法

    数据模型其实是对Python框架的描述,它规范了这门语言自身构架模块的接口,这些模块包括但不限于序列、迭代器、函数、类和上下文管理器。简单来说,数据模型就是Py...

    陆勤_数据人网
  • 第四章--第二节:类

    在上面的代码中方法 init 是一个特殊的方法,在创建类的实例的时候,实例会自动调用这个方法,一般用来对实例的属性进行初使化。另类里面的两个方法都有 self ...

    喵叔
  • 第27天面向对象之反射,绑定方法,特定的

      类中的方法为什么要这么麻烦分这么多的类型呢?当然是有运用场景了,在写类中方法的时候具体的应用设置成绑定方法还是非绑定方法主要取决于我们方法代码中是否要用到对...

    py3study
  • PyQt 自定义窗口部件(二)

    本篇介绍用如何QPainter()画出一个可以显示分数的滑块控件,并使其能正确地响应鼠标事件,键盘事件以及自动调整尺寸。

    用户6021899
  • 探究ReactiveCocoa 底层KVO封装流程

    原文作者:溪浣双鲤 https://www.jianshu.com/p/51758229b4a5

    iOSSir

扫码关注云+社区

领取腾讯云代金券