第18章 使用进程和线程_第1页
第18章 使用进程和线程_第2页
第18章 使用进程和线程_第3页
第18章 使用进程和线程_第4页
第18章 使用进程和线程_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

什么是进程,进程的定义,进程,计算机中已运行程序的实体,创建进程的常用方式,创建进程的方式,创建进程,os.fork()函数,multiprocessing模块Process类,Process类的子类,Pool进程池,不支持windows系统,multiprocessing模块创建进程,Process(group,target,name,args,kwargs),group:参数未使用,值始终为None。target:表示当前进程启动时执行的可调用对象。name:为当前进程实例的别名。args:表示传递给target函数的参数元组。kwargs:表示传递给target函数的参数字典。,Process类的常用方法和属性,方法,属性,is_alive():判断进程实例是否还在执行;join(timeout):是否等待进程实例执行结束,或等待多少秒;start():启动进程实例(创建子进程);run():如果没有给定target参数,对这个对象调用start()方法时,就将执行对象中的run()方法;terminate():不管任务是否完成,立即终止;,name:当前进程实例别名,默认为Process-N,N为从1开始递增的整数;pid:当前进程实例的PID值。,使用进程池Pool创建进程,apply_async(func,args,kwds):使用非阻塞方式调用func函数(并行执行,堵塞方式必须等待上一个进程退出才能执行下一个进程),args为传递给func的参数列表,kwds为传递给func的关键字参数列表。apply(func,args,kwds):使用阻塞方式调用func函数。close():关闭Pool,使其不再接受新的任务。terminate():不管任务是否完成,立即终止。join():主进程阻塞,等待子进程的退出,必须在close或terminate之后使用。,Pool类的常用方法,进程间通信,多进程队列的使用,Queue.qsize():返回当前队列包含的消息数量。Queue.empty():如果队列为空,返回True,反之返回False。Queue.full():如果队列满了,返回True,反之返回False。Queue.get(block,timeout):获取队列中的一条消息,然后将其从列队中移除,block默认值为True。Queue.get_nowait():相当Queue.get(False)。Queue.put(item,block,timeout):将item消息写入队列,block默认值为True。Queue.put_nowait(item):相当Queue.put(item,False)。,Queue类的常用方法,使用队列在进程间通信,什么是线程,线程的定义,线程,操作系统能够进行运算调度的最小单位它被包含在进程之中,是进程中的实际运作单位,创建线程,使用threading模块创建线程,Thread(group,target,name,args,kwargs),group:参数未使用,值始终为None。target:表示当前线程启动时执行的可调用对象。name:为当前线程实例的别名。ar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论