python自学博客记录 第12章 多线程与并行(3/5)

12.3 Python进程模块

12.3.1 os模块
进程本质上是由操作系统来管理的,os模块自然也少不了一些和进程相关的操作
调用system函数是最简单的创建进程的方式,函数只有一个参数,就是要执行的命令。

os.fork 函数调用系统API并创建子进程,但是fork函数在windows上并不存在

12.3.2 subprocess模块
标准库os中的system函数和exec系列函数虽然都可以调用外部调令(调用外部命令也是创建进程的一种方式)
大部分 subprocess模块调用外部命令的函数都使用类似的参数,其中args是必传参数,其他可选参数:
args:可以是字符串或者序列类型。
bufsieze:指定缓存。0表示无缓冲1表示缓冲,其他表示缓冲大小,负值表示使用系统默认缓冲,通常表示完全缓冲。默认值为0表示没有缓冲
stdin,stdout,stderr:分别表示程序的标准输入,输出,错误句柄。
preexec_fn:只在Unix平台有效
close_fds:在windows中,如果close_fds被设置为true,则新创建的子进程将不会继承父进程的输入、输出与错误管道,所以不能将其设置为true。

其他将在书本246页

12.3.3 multiprocessing.Process
标准库multiprocessing模块提供了和线程模块threading类似的API来实现多进程,multiprocessing模块创建的是子进程而不是子线程,所以可以有效的避免全局解释器和有效地利用多核CPU的性能。
multiprocessing.Process对象使用方法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值