python多线程执行类中的静态方法
在python 中如果通过多线程的方式执行某个方法很简单,只需要把同步函数的第一个参数为该函数对象即可。但是如果函数对象是某个类的静态方法,这时候如果直接使用类的该函数对象会报错。此时需要构造一个代理的方法来实现。
如:上一个博文中的统计目录大小的静态类方法,如果想要查询多目录的空间大小,并且做成多线程个的方式。可采用下面的方法:
def dir_size_proxy(cls_instance, i):return cls_instance.get_dir_size(i)class DiskSpaceUtil(object):@staticmethoddef get_dir_list_size(dir_path_list):import multiprocessingpool = multiprocessing.Pool(processes=8)result_list = []for dir_path in dir_path_list:result_list.append(pool.apply_async(dir_size_proxy, (DiskSpaceUtil, dir_path)))pool.close()pool.join()size_list = [result.get() for result in result_list]return size_list
如图:
同步方法 DiskSpaceUtil 类中的 get_dir_size 方法。
代理函数: dir_size_proxy
转载于:https://www.cnblogs.com/dasheng-maritime/p/8365409.html
python多线程执行类中的静态方法相关推荐
- Python(私有变量)类中的特殊方法
2019独角兽企业重金招聘Python工程师标准>>> 类中的特殊方法 一般说来,特殊的方法都被用来模仿某个行为.例如,如果你想要为你的类使用x[key]这样的索引操作(就像列表和元 ...
- php类使用自己的静态方法吗,php在类中使用静态方法有几种方式
php在类中使用静态方法的方式:1.使用self,代码为[self::test();]:2.使用类名,代码为[public function test1()a::test()]:3.使用static, ...
- python多线程执行_python多线程实现同时执行两个while循环
如果想同时执行两个while True循环,可以使用多线程threading来实现. 完整代码 #coding=gbk from time import sleep, ctime import thr ...
- python多线程执行同样代码_Python 多线程、多进程 (一)之 源码执行流程、GIL
一.python程序的运行原理 许多时候,在执行一个python文件的时候,会发现在同一目录下会出现一个__pyc__文件夹(python3)或者.pyc后缀(python2)的文件 Python在执 ...
- java 静态类的实现_关于java:在类中实现静态方法
通过一本书,我正在经历: "设计一个类名MyInteger.该类包含: ...等等等等等等... 如果此对象中的值分别为偶数,奇数或素数,则方法isEven(),isOdd()和isPrim ...
- php类实例方法静态方法,PHP类中的静态方法使用实例
在php中静态方法我们就直接在函数或变量前加一个static就可以了,使用的时候和静态变量差不多,不需要实例化,直接用::调用了,下面我来给大家举几个关于静态方法实例. PHP也不例外!所谓静态方法( ...
- php 反射 调用私有方法,PHP通过反射方法调用执行类中的私有方法
PHP 5 具有完整的反射 API,添加了对类.接口.函数.方法和扩展进行反向工程的能力. 下面我们演示一下如何通过反射,来调用执行一个类中的私有方法: //MyClass这个类中包含了一个名为myF ...
- python语法:类中object的用法
假如定义两个类,一个带object,一个不带object,会不会有差别呢? class Cat:name = "mao" class Dog(object):name = &quo ...
- python的class(类)中的object是什么意思?
原文地址:https://blog.csdn.net/DeepOscar/article/details/80947155 那写object和不写object有什么区别? 好的,再用代码来理解它们的区 ...
最新文章
- [笔记]C#基础入门(十四)——C#用流程图描述程序逻辑
- 为什么测试喜欢ie_为什么我现在喜欢测试,以及为什么您也应该如此。
- 第六章:react-router4
- 数据库:跨数据库,服务器数据迁移
- 计算机网络技术与应用应用题,计算机网络技术与应用题库答案.pdf
- python 编程(关于twisted)
- ctfshow-网络迷踪-新手上路 ( 使用百度搜图收集景点信息)
- 使用 CSS3 实现 3D 图片滑块效果
- 《WF编程》系列之23 - 基本活动:IfElseActivity WhileActivity SequenceActivity
- go 变量大写_golang学习笔记(一):包,变量,函数
- 正确激活报表插件的方法
- React小书没提到但是很有用的基础知识
- 一篇文章带你搞定数学建模中的 Malthus人口模型(含代码)
- python生成3d人体模型_无限想象空间,用Python就能玩的3D人体姿态估计
- 虚拟机如何安装Deepin系统
- 关于代付和分账系统的区别
- docker以外的构建、运行、管理和分发容器候选项
- (附源码)ssm通用数据展示系统 毕业设计200934
- IE、FF、Safari、OP不同浏览器兼容报告
- 验证手机号码格式的正则表达式编写思路详解
热门文章
- JAVA环境变量配置与配置后CMD的使用
- centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)
- 线性回归、逻辑回归及SVM
- matepad和鸿蒙,爆料称华为MatePad 2系列平板有三个版本:预装鸿蒙OS
- stringbuilder 拼接语句缺失右括号_Leetcode No.22 括号生成
- 弹性网络_理论物理所建立解析模型研究凝胶网络弹性介导的液液相分离现象
- LINUX进程调度分析源码,Linux 实时调度(源码分析)
- java三角形创建子类_如何创建子类,以便参数属于Java中的子类类型
- 基于熵权法优劣解距离法_维普资讯中文期刊服务平台-基于改进TOPSIS方法的航空装备预研项目技术风险评估...
- 华为机考HJ4字符串分隔C语言题解