from multiprocessing import Pool,Process
import time,os
def Foo(a):#创建函数
time.sleep(2)
print('in the process:',os.getpid(),os.getppid())
return a+100 def bar(arga):#创建函数
print('---->',arga)
if __name__ == '__main__':
print('父进程ID:',os.getpid())
pool = Pool(2)#创建进程池最大容量为2,最多允许2个进程同时运行,参照线程信号量模式
for i in range(10):#创建10个进程
pool.apply_async(func=Foo,args=(i,),callback=bar)#创建线程,参数1调用函数,参数2设置i为函数FOO参数,参数3为返回函数
#参数三为回调函数,将FOO函数的返回值作为参数调用bar函数。
#pool.apply(func=Foo,args=(i,),callback=bar)#串行
#pool.apply_async(func=Foo,args=(i,),callback=bar)#并行 pool.close()#关闭
#pool.join()#如果没有.join语句,程序不执行就会关闭。这里是个大坑。
from multiprocessing import Pool,Process
import time,os
def Foo(a):#创建函数
time.sleep()
print('in the process:',os.getpid(),os.getppid())
return a+100 def bar(arga):#创建函数
print('---->',arga)
if __name__ == '__main__':
print('父进程ID:',os.getpid())
pool = Pool()#创建进程池最大容量为2,最多允许2个进程同时运行,参照线程信号量模式
for i in range():#创建10个进程
pool.apply_async(func=Foo,args=(i,),callback=bar)#创建线程,参数1调用函数,参数2设置i为函数FOO参数,参数3为返回函数
#参数三为回调函数,将FOO函数的返回值作为参数调用bar函数。
#pool.apply(func=Foo,args=(i,),callback=bar)#串行
#pool.apply_async(func=Foo,args=(i,),callback=bar)#并行 pool.close()#关闭
#pool.join()#如果没有.join语句,程序不执行就会关闭。

python 进程池的使用和坑的更多相关文章

  1. 万里长征第一步:Python进程池的一点点小坑

    # -*- coding: utf- -*- """ Created on Thu Mar :: @author: lilide """ # ...

  2. python进程池:multiprocessing.pool

    本文转至http://www.cnblogs.com/kaituorensheng/p/4465768.html,在其基础上进行了一些小小改动. 在利用Python进行系统管理的时候,特别是同时操作多 ...

  3. python(进程池/线程池)

    进程池 import multiprocessing import time def do_calculation(data): print(multiprocessing.current_proce ...

  4. python进程池剖析(三)

    之前文章对python中进程池的原理.数据流以及应用从代码角度做了简单的剖析,现在让我们回头看看标准库中对进程池的实现都有哪些值得我们学习的地方.我们知道,进程池内部由多个线程互相协作,向客户端提供可 ...

  5. python进程池剖析(二)

    之前文章中介绍了python中multiprocessing模块中自带的进程池Pool,并对进程池中的数据结构和各个线程之间的合作关系进行了简单分析,这节来看下客户端如何对向进程池分配任务,并获取结果 ...

  6. python进程池剖析(一)

    python中两个常用来处理进程的模块分别是subprocess和multiprocessing,其中subprocess通常用于执行外部程序,比如一些第三方应用程序,而不是Python程序.如果需要 ...

  7. python进程池

    当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiproce ...

  8. python 进程池的简单使用方法

    回到python,用一下python的进程池. 记得之前面试的时候,面试官问:你知道进程池的默认参数吗? 我没有回答上来,后来才知道,是有默认参数的.下面就看看它的默认参数 1. 不加参数 from ...

  9. python 进程池pool简单使用

    平常会经常用到多进程,可以用进程池pool来进行自动控制进程,下面介绍一下pool的简单使用. 需要主动是,在Windows上要想使用进程模块,就必须把有关进程的代码写if __name__ == ‘ ...

随机推荐

  1. FJUT3701 这也是一道数论题(线段树)题解

    Problem Description 好久没出数据结构题,现在赶紧来做道数据结构题热热身 小q现在要去银行,他有个很厉害的bug能看到前面排队的人.假如当前有人正在办理业务,那么肯定要等待前一个人完 ...

  2. Centos 查看 CPU 核数 和 型号 和 主频

    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c     10  Intel(R) Xeon(R) CPU E5-2430 v4 @ 2.10 ...

  3. python from entry to abandon2

    学习Linux已经有大致两周了,依然感觉到自己仍然在运维的大门外徘徊.于是我想要找到一个在Linux之外的业余方向,可以以作为枯燥基础学习的调节.没过多久我就发现了Python可以说是钦定的选择,它作 ...

  4. JPA使用指南 javax.persistence的注解配置讲解

    转自http://67566894.iteye.com/blog/659829 示例 @SuppressWarnings("serial") @Entity @Table(name ...

  5. Spring.Net —IOC详解

    一. Spring.net中IOC介绍 1. 什么是IOC,控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中 ...

  6. 如何进入docker 使用root用户的方式

    docker exec -it --user root <container id> /bin/bash

  7. 在虚拟环境下运行 Confluence 6

    这个页面针对运行在虚拟硬件环境下的 Confluence 提供一些信息. 概要 在虚拟环境(virtual machine (VM))下运行 Confluence 需要一些特定的技能来进行设定和进行管 ...

  8. 2015-10-15 css3

    图片模糊效果 <img id ="img1" src="image/免费学PS.jpg" style="-webkit-filter: blur ...

  9. netty源码分析之二:accept请求

    我在前面说过了server的启动,差不多可以看到netty nio主要的东西包括了:nioEventLoop,nioMessageUnsafe,channelPipeline,channelHandl ...

  10. Python—内置函数

    内置函数 内置函数补充  all: 所有iterable类型,包含的元素要全为真才返回真 >>> all([0,-1,5]) False >>> all([-1,5 ...