joblib多线程、多进程学习案例(一)——一步步写多进程任务
文章目录
- 1. 先指定多进程或多线程
- 2. 指定并行/多线程需要执行的任务
- 3. 最后递交给cpu即可
- 完整案例
使用joblib
包,导入:from joblib import Parallel
1. 先指定多进程或多线程
multi_work = Parallel(n_jobs=2, backend='multiprocessing')
其中:
- backend="threading"时为线程
- 当n_jobs=-1时,使用所有的CPU执行并行计算;
- 当n_jobs=1时,就不会使用并行代码,即等同于顺序执行,可以在debug情况下使用;
2. 指定并行/多线程需要执行的任务
使用的格式是:
# 这是三个任务,格式是[ 函数名, [参数列表], {参数列表} ]
task1 = [add_func, [2, 3], {}] # 计算2+3
task2 = [add_func, [4], {'y': 5}] # 计算4+5
task3 = [add_func, [], {'x': 1, 'y': 100}] # 计算1+100
3. 最后递交给cpu即可
result = multi_work([task1, task2, task3])
print(result)
完整案例
from joblib import Parallel
import osdef add_func(x, y):print("当前进程:", os.getpid(), " 父进程:", os.getppid()) # 打印当前的进程ID与父进程IDreturn x + yif __name__ == '__main__':multi_work = Parallel(n_jobs=2, backend='multiprocessing') # 创建一个多线程/多进程的辅助类# backend="threading"时为线程# 当n_jobs=-1时,使用所有的CPU执行并行计算;# 当n_jobs=1时,就不会使用并行代码,即等同于顺序执行,可以在debug情况下使用;task1 = [add_func, [2, 3], {}] # 计算2+3task2 = [add_func, [4], {'y': 5}] # 计算4+5task3 = [add_func, [], {'x': 1, 'y': 100}] # 计算1+100result = multi_work([task1, task2, task3])print(result) # [5, 9, 101]
joblib多线程、多进程学习案例(一)——一步步写多进程任务相关推荐
- joblib多线程、多进程学习案例(三)
还有更加简写的方法,也是通常见到的方式: from joblib import Parallel, delayeddef add_func(x, y):return x + yif __name__ ...
- Vue3+TypeScript从入门到进阶(六)——TypeScript知识点——附沿途学习案例及项目实战代码
文章目录 一.简介 二.Vue2和Vue3区别 三.Vue知识点学习 四.TypeScript知识点 一.JavaScript和TypeScript 二.TypeScript的安装和使用 1.Type ...
- Webpack从入门到进阶(二)---附沿路学习案例代码
文章目录 Webpack从入门到进阶(一)---附沿路学习案例代码 一.Webpack简介 1.前端发展的几个阶段 2.前端三个框架的脚手架 3.Webpack是什么? 4.webpack和vite ...
- java多线程基础学习[狂神说java-多线程笔记]
java多线程基础学习 一.线程简介 1.类比 2.程序进程线程 3.线程的核心概念 二.线程的实现(重点) 调用方法与调用多线程的区别 Thread 类 1.thread使用方法 2. 代码实现 3 ...
- 多线程编程学习笔记——async和await(三)
接上文 多线程编程学习笔记--async和await(一) 接上文 多线程编程学习笔记--async和await(二) 五. 处理异步操作中的异常 本示例学习如何在异步函数中处理异常,学习如何对多 ...
- java 图片手动切换_JavaScript学习案例之手动切换轮播图片
javascript学习案例之手动切换轮播图片 效果图: 思路: 1.先做界面 1.1制作按钮及点击触发事件 1.2引入一张图片 2.书写css 2.1跳转p盒子的布局(宽.高.边框线.水平居中.文字 ...
- oracle pl sql示例,oracle PL SQL学习案例(一)
oracle PL SQL学习案例(一) [示例1.1] 查询雇员编号为7788的雇员姓名和工资. 步骤1:用SCOTT/TIGER账户登录SQL*Plus. 步骤2:在输入区输入以下程序: /*这 ...
- Cookie 学习案例之三天免登录
Cookie 问题:HTTP 协议是没有记忆功能的,一次请求结束后,相关数据会被销毁.如果第二次的请求需要使用相同的请求数据怎么办呢?难道是让用户再次请求书写吗? 解决:使用 Cookie 技术 解释 ...
- 多线程编程学习笔记——任务并行库(二)
接上文 多线程编程学习笔记--任务并行库(一) 三. 组合任务 本示例是学习如何设置相互依赖的任务.我们学习如何创建一个任务的子任务,这个子任务必须在父任务执行结束之后,再执行. 1,示例代码如下 ...
最新文章
- WAIC 2021 | 百度量子计算段润尧:从理论到实践谈量子人工智能
- c语言内存分配与释放 不同类别变量的内存分配和释放的区别
- php 类别名,关于php:从类别ID laravel获取类别名称
- Github-Git for windowsTortoiseGit下载与安装
- Python 学习小记
- 利用navicat 进行 mysql建表语句转oracle建表语句
- Axure动态显示实时时间
- Zemax操作--9(全局坐标设定及使用方法)
- 什么是EJB?不再神秘!
- 如何让网站被百度快速收录?如何查询百度收录情况?
- 美国北亚利桑那大学计算机专业排名,美国北亚利桑那大学排名学费
- 暑假计算机教育培训总结,暑假信息技术培训心得
- xxl-job快速入门
- 微信小程序实现带参数的分享功能
- (附源码)Springboot酒店会员点餐系统 毕业设计 072005
- 开关电源-半桥LLC控制
- 2017计算机系书单推荐(排版更新)
- 【Simapro软件教程】参数进行灵敏度分析
- PrintWriter的print和write输出区别
- he Enigma Protector一字节过注册
热门文章
- android textview基线,Textview画文字基线的问题
- astrm30米分辨率高程数据下载_如何下载道路沿线1000米范围内的高程?
- Unreal Engine 4 基于网格的水面模拟实现
- abp框架(aspnetboilerplate)设置前端报错显示
- Python基础(五)
- 【软件工程实践 · 团队项目】 第二次作业
- 视+AR正式发布EasyAR引擎2.0版,并宣布开放AR相机平台
- 思维习惯埋下的陷阱:在eVC中使用Slider、Spin等控件
- Linux下最快速共享目录的方法
- 罗森伯格荣获2015年度中国数据中心优秀供应商与中国十大布线品牌两项大奖