Python Process的简单教程

Python的进程只用还是很简单的,不过也有几点与其他语言不一样。这里,做一个总结类型的笔记。

 第一篇,只是简单介绍使用方法,不会详解进程间的通信
一、 简单的使用方法

这里先简单说下进程,进程不严谨的说,就是一个应用层程序的最小单位。cpu的调度对象其实就是进程,这里提一句,为什么线程不是,我的理解是:线程并不是完全独立。
Python的进程包

multiprocessing

绝大部分功能都是从这里面找到,废话不多说,看代码

from multiprocessing import Process
import os, timedef func_1():print('this is func_1\'s pid:{}'.format(os.getpid()))print('func_1\'s parent pid:{}'.format(os.getppid()))  # 获取父进程id# 在Windows下这是必须的
if __name__ == '__main__':print('Main Process pid:{}'.format(os.getpid()))  # 获取进程id# 开启进程方式一p = Process(target=func_1)  # 创建p.start()  # 开启time.sleep(1)print('Child Process pid:{}'.format(p.pid))# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++# Main Process pid: 4084# this is func_1's pid:9904# func_1's parent pid:4084# Child Process pid: 9904# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

生成Process对象的主要参数

class multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)

target:需要调用的进程函数
args:进程函数所需的参数,类型为元组
kwargs:进程函数所需的参数,类型为字典
参数再看下面一个使用参数的例子

def func_2(name, age):print('{0}\'s age is {1} pid:{2}'.format(name, age, os.getpid()))print('{0}\'s parent pid:{1}'.format(name, os.getppid()))# 在Windows下这是必须的
if __name__ == '__main__':print('Main Process pid:{}'.format(os.getpid()))# 开启进程方式二  带参数, 参数是个元组,如果只有一个参数需要加逗号 (name,) 不然会被当成单一类型p = Process(target=func_2, args=('mike',),kwargs={'age':6})p.start()time.sleep(1)print('Child Process pid:{}'.format(p.pid))# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++# Main Process pid:11388# mike's age is 6 pid:11252# mike's parent pid:11388# Child Process pid:11252# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

当然,python还有一个继承Process类,实现run函数的方式

class MyProcess(Process):def __init__(self, name):super().__init__()self.name = namedef run(self):print(self.name + '\'s pid:' + str(os.getpid()))# 在Windows下这是必须的
if __name__ == '__main__':print('Main Process pid:{}'.format(os.getpid()))p = MyProcess('mike')p.start()print('Child Process pid:{}'.format(p.pid))

使用方法也看了,这一篇就差不多了
还有一句重点就是

python的父进程,默认状态下会等待子进程完成后,才会结束,这样也可以保证子进程不变成孤儿进程。

下一篇我们再讨论进程的一些函数具体功能,和进程对于数据拷贝的细节

Python之进程的玩法相关推荐

  1. python好学吗mooc中文网-Python的N种玩法_中国大学MOOC(慕课)

    写个爬虫抓取信息 网络爬虫与信息提取 北京理工大学 主讲老师:嵩天 "The website is the API."想了解一天之内人们发了多少条关于吃的微博?想抓取网易云音乐上评 ...

  2. 这才是 Python 的 “72 变”玩法!

    作者 | 阿广 责编 | 胡巍巍 基于Python的铅笔素描图 说到铅笔素描,很多画家用它用得极为精湛. 有的细致到跟照片无法区别,简直是墨笔丹青,如行云流水绕素笺,展瀚海崇山依旧颜,怎一个好字了得: ...

  3. Python中selenium的玩法,小朋友看了都说学会了

    大家好,我是辣条. 目录 selenium的介绍 1. selenium运行效果展示 2. selenium的作用和工作原理 3. selenium的安装以及简单使用 4. selenium的简单使用 ...

  4. 怎么安装python3.72_这才是 Python 的 “72 变”玩法!

    作者 | 阿广 责编 | 胡巍巍 基于Python的铅笔素描图 说到铅笔素描,很多画家用它用得极为精湛. 有的细致到跟照片无法区别,简直是墨笔丹青,如行云流水绕素笺,展瀚海崇山依旧颜,怎一个好字了得: ...

  5. python的函数式编程玩法+年末小感

    从小老师教编程语言就告诉分两种:面向过程和面向对象,正如同小学电脑课面对的是win95,仿佛世界上windows就是操作系统的别名,如今还是这样,高校的计算机中心都是windows,所以linux是要 ...

  6. python 各种推导式玩法

    推导式套路 除了最简单的列表推导式和生成器表达式,其实还有字典推导式.集合推导式等等. 下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variable = [out_exp_re ...

  7. 用Python一秒自动美化表格|python的1024种玩法(3)

    之前写过一篇文章:大学生们都在读什么书?让Python用数据告诉你! 在这篇文章中,我用Python爬虫爬取了全国20多个图书馆的热门借阅图书信息,并按照一定的规则做了统计汇总,得到了这一份大学生各领 ...

  8. AI视觉组仙人一步之高级玩法——从Python回归C语言

    开心的程序猿@NXP 2021-02-04 Thursday   读过之前两篇的童鞋们,想来已经开始着手开发属于自己的AI视觉应用了,当然,手中还没有OpenART套件的朋友们,也不用着急,可以先参照 ...

  9. python字符串中find函数_Python之字符串常用花哨玩法

    字符串类型 在python中,字符串类型确实是一种很强大的类型,其中的功能函数更是令人震惊,这多么类都是谁写的,太感谢他了\(^o^)/ 当然,在实际工作中可能用不到那么多的函数,根据需求来嘛,一下介 ...

最新文章

  1. 异步化,高并发大杀器
  2. BW标准数据源初始化设置
  3. 为什么要继承Serializable类?
  4. Basic Level 1008. 数组元素循环右移问题 (20)
  5. 可视化篇(五)——— python绘制热力图及案例
  6. 互联网金融投放获客优化的讨论(新用户引导流程)
  7. 完美解决idea继承maven后,构建项目慢的问题
  8. 九度 1209:最小邮票数(多重背包)
  9. 初中英语多词性单词怎么办_高考英语阅读理解生僻单词太多怎么办?十大招数帮到你...
  10. 爬虫所需准备知识 0221
  11. 2019年9月数据库流行度排行:MySQL 强劲增长完成深 V 反转
  12. [李景山php]每天TP5-20170110|thinkphp5-Model.php-3
  13. vue调用函数怎么传参_Vue(非)父子组件的传值以及方法调用
  14. 点与点集:边界点与聚点的关系【高等数学】
  15. 当前上下文中不存在名称 ViewBag
  16. [QCTF2018]X-man-Keyword
  17. 计算机看不了pdf,电脑打不开pdf格式文件怎么回事
  18. # Logistic regression中的threshold
  19. 关于编译报错“dereferencing pointer to incomplete type...
  20. python爬虫——scrapy+selenium爬取新浪微博及评论

热门文章

  1. 京东家电 焕新出服务生态
  2. keep 虚拟路线修改器_“现在的虚拟恋人有多野??太tm可怕了哈哈哈哈哈!”...
  3. 怎么提高移动硬盘的传输速度?方法介绍
  4. 2020.11.8--AE--轨道遮罩、混合模式遮罩、文字工具字符与段落面板
  5. linux内核的延时函数,linux中内核延时函数 (转)
  6. 计算机开题报告答辩评语,开题报告答辩评语
  7. windows无法打开添加打印机 本地打印后台
  8. 应用架构的核心使命是什么?阿里高级技术专家如是说
  9. WPS表格 三级下拉列表的建立 以及一些问题
  10. OceanBase详解OceanBase兼容mysql