python multiprocessing 多进程
  '''
  如果要启动大量的子进程,可以用进程池的方式批量创建子进程:
  '''
  def test_task(name):
        print 'Run task %s (%s)...' % (name, os.getpid())
        start = time.time()
        time.sleep(random.random() * 3)
        end = time.time()
        print 'Task %s runs %0.2f seconds.' % (name, (end - start))
  if __name__=='__main__':
        print 'Parent process %s.' % os.getpid()
        p = Pool()
        for i in range(5):
            p.apply_async(test_task, args=(i,))
        print 'Waiting for all subprocesses done...'
        p.close()
        p.join()
        print 'finish'
对Pool对象调用join()方法会等待所有子进程执行完毕,调用join()之前必须先调用close(),调用close()之后就不能继续添加新的Process了。
    '''
    以Queue为例,在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据:
    ''' 
    #写数据
    def write(queue):
          for i in range(1,10):
                print 'put %d to queue.'% i
                queue.put(i)
        time.sleep(random.random())
    #读数据    
    def read(queue):
          while True:
              i = queue.get(True)
              print 'get %d from queue.'%i
    #测试代码
    def test():
          q = Queue()#创建队列,并传给子进程
          WriteProcessor = Process(target = write,args=(q,))
          ReadProcessor = Process(target = read,args=(q,))
      #启动写进程,写入数据
          WriteProcessor.start()
      #启动读进程,读取数据
          ReadProcessor.start()
      #等待WriteProcessor结束
          WriteProcessor.join()
      #终止读进程
          ReadProcessor.terminate()
参考资料:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868323401155ceb3db1e2044f80b974b469eb06cb43000
python multiprocessing 多进程的更多相关文章
- python Multiprocessing 多进程应用
		
在运维工作中,经常要处理大量数据,或者要跑一些时间比较长的任务,可能都需要用到多进程,不管是管理端下发任务,还是客户端执行任务,如果服务器配置还可以,跑多进程还是挺能解决问题的 Multiproces ...
 - python multiprocessing多进程应用
		
multiprocessing包是Python中的多进程管理包,可以利用multiprocessing.Process对象来创建进程,Process对象拥有is_alive().join([timeo ...
 - Python Multiprocessing 多进程,使用多核CPU计算 并使用tqdm显示进度条
		
1.背景 在python运行一些,计算复杂度比较高的函数时,服务器端单核CPU的情况比较耗时,因此需要多CPU使用多进程加快速度 2.函数要求 笔者使用的是:pathos.multiproces ...
 - python multiprocessing多进程模块
		
原文:https://blog.csdn.net/CityzenOldwang/article/details/78584175 多进程 Multiprocessing 模块 multiprocess ...
 - python笔记9 线程进程  threading多线程模块  GIL锁  multiprocessing多进程模块 同步锁Lock   队列queue  IO模型
		
线程与进程 进程 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成:数据集则是程序在执行过程中所需要 ...
 - Python的Multiprocessing多进程实例
		
最近在拜读RBG大神的faster-rcnn源码时发现他用了多进程去分阶段处理神经网络,原因如下: # ------------------------------------------------ ...
 - 【python】多进程锁multiprocess.Lock
		
[python]多进程锁multiprocess.Lock 2013-09-13 13:48 11613人阅读 评论(2) 收藏 举报 分类: Python(38) 同步的方法基本与多线程相同. ...
 - python MultiProcessing模块进程间通信的解惑与回顾
		
这段时间沉迷MultiProcessing模块不能自拔,没办法,python的基础不太熟,因此就是在不断地遇到问题解决问题.之前学习asyncio模块学的一知半解,后来想起MultiProcessin ...
 - Python实现多进程
		
Python可以实现多线程,但是因为Global Interpreter Lock (GIL),Python的多线程只能使用一个CPU内核,即一个时间只有一个线程在运行,多线程只是不同线程之间的切换, ...
 
随机推荐
- 禁用  Browser Link,在浏览器调试的时候回出现大量的get,post数据。
			
VS2013新增的Browser Link功能虽然“强大”,但默认是开启的,很烦人!
 - Failed to create java virtue machine(不能创建java虚拟机)
			
今天开发模块时,遇到这个问题,本来是版本的问题,jdk1.6的版本有点低,与cxf框架不兼容,需要用到jdk1.7,结果安装了jdk1.7之后,客户方要求必须用jdk1.6,要统一,所以卸载jdk1. ...
 - C#总结2
			
第三章 对于继承:继承是根据父类创建新子类的过程: 对于继承:例: Public class Father { public void say() { //dosomething } } Pu ...
 - ADO和ADO.NET有什么不同?
			
1.一些ADO中常见的类型比如RecordSet在ADO.NET中已经没有了,而且在ADO.NET中也新增了许多在传统ADO中找不到的直接对应的新类型(如数据适配器): 2.传统的ADO主要针对紧密连 ...
 - ZooKeeper - 状态信息 Stat 的属性说明
			
运行%ZK_HOME%/bin目录下的zkCli.sh(zkCli.cmd),使用get命令可以获取指定ZNode的数据内容和属性信息.例如: [zk: localhost:2181(CONNECTE ...
 - 高级C#
			
使用delegates委托写插件方法: public delegate int Transformer (int x); public class Util { public static void ...
 - jq选取对象的方法
			
$("#找id的")$(".找样式的") $("div[id]") 选择所有含有id属性的div元素 $("input[nam ...
 - C#基于AE组件二次开发常见问题
			
由于本人从事的是在.net平台下进行GIS的二次开发,所以第一篇博文就说一下:我最近在项目中出现的常见的问题,如果能够给大家增加一点点便利,也是我的荣幸,如果大家对于这次博文有什么意见和建议,欢迎大家 ...
 - datatable转json
			
//将datatable转化为json public string DataTableToJSON(DataTable dt) { JavaScriptSerializer jss = new Jav ...
 - Mac或Linux中对Android抓包
			
转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/mac-or-linux-android-caught/ 说明 首先要到http://www.charlesp ...