Python:进程

多任务

概念,操作系统同时运行多个任务

fork(创建进程)

导入os模块

程序运行到os.fork时,系统会创建一个子进程,然后把父进程复制一份到子进程,子进程的值一定是0,父进程返回子进程的id

getpid(),getppid()

getpid(),当前进程id,getppid父进程id

多次fork问题

父进程,子进程执行顺序没有规律,完全取决于操作系统的系统调度算法

multiprocessing

跨版本多进程模块

import Process (multiprocessing)

说明

创建子进程时,只需要传入一个执行函数和函数的参数,创建一个Process实例,用start()方法启动,这样创建进程比fork()还要简单。

·join()方法可以等待子进程结束后再继续往下运行,通常用于进程间的同步。

·target:表示这个进程实例所调用对象;

·args:表示调用对象的位置参数元组;

·kwargs:表示调用对象的关键字参数字典;

·name:为当前进程实例的别名;

·group:大多数情况下用不到;

Process类常用方法:

·is_alive():判断进程实例是否还在执行;

·join([timeout]):是否等待进程实例执行结束,或等待多少秒;

·start():启动进程实例(创建子进程);

·run():如果没有给定target参数,对这个对象调用start()方法时,就将执行对象中的run()方法;

·terminate():不管任务是否完成,立即终止;

Process类常用属性:

·name:当前进程实例别名,默认为Process-N,N为从1开始递增的整数;

·pid:当前进程实例的PID值;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一多任务的引入 有很多的场景中的事情是同时进行的,比如开车的时候手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的...
    五行缺觉阅读 3,821评论 0 0
  • 要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。Unix/Linu...
    壁花烧年阅读 4,125评论 0 0
  • 转自:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348...
    放风筝的小小马阅读 1,514评论 0 2
  • 1.进程 1.1多线程的引入 现实生活中 有很多的场景中的事情是同时进行的,比如开车的时候手和脚共同来驾驶汽车,再...
    TENG书阅读 3,616评论 0 0
  • 多进程 forkUnix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,...
    carolwhite阅读 1,410评论 0 0