python pool

 1 from multiprocessing import Pool
 2 import os
 3 def f(x):
 4     print "Os is%s"%os.getpid()
 5     return x*x
 6 if __name__ == ‘__main__‘:
 7     pool = Pool(processes=4)
 8     result = pool.apply_async(f,[10])
 9     print result.get(timeout=10)
10     print pool.map(f,range(10))

结果:

 1 Os is7288
 2 100
 3 Os is7288
 4 Os is7288
 5 Os is7288
 6 Os is7288
 7 Os is7288
 8 Os is7288
 9 Os is7288
10 Os is7288
11 Os is7288
12 Os is7288
13 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
时间: 2024-10-12 04:13:50

python pool的相关文章

Python24 进程

进程 进程:一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程. 线程:有些进程还不止同时干一件事,比如Word,它可以同时进行打字.拼写检查.打印等事情.在一个进程内部,要同时干多件事,就需要同时运行多个"子任务",我们把进程内的这些"子任务"称为线程(Thread). 一个进程至少有一个线程.当然,像Word这种复杂

python的multiprocessing模块进程创建、资源回收-Process,Pool

python的multiprocessing有两种创建进程的方式,每种创建方式和进程资源的回收都不太相同,下面分别针对Process,Pool及系统自带的fork三种进程分析. 1.方式一:fork() 举例: 1 import os 2 pid = os.fork() # 创建一个子进程 3 os.wait() # 等待子进程结束释放资源 4 pid为0的代表子进程. 缺点:1.兼容性差,只能在类linux系统下使用,windows系统不可使用:2.扩展性差,当需要多条进程的时候,进程管理变得

Python多进程并发操作中进程池Pool的应用

  在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间.当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,10几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,这时候进程池Pool发挥作用的时候就到了.      Pool可以提供指定数量的进程,供用户调用,当有新的请求提交到pool中时,如果池还没有满, 那么就会创建一个新的进程用来执行该请求:但如果池中的进

python进程池:multiprocessing.pool

在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间.当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,十几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,此时可以发挥进程池的功效.Pool可以提供指定数量的进程供用户调用,当有新的请求提交到pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求:但如果池中的进程数已经达到规定最大值,那么该请求就会

Python之Pool

#!/usr/bin/env python from multiprocessing import Pool import time def sayHi(a): time.sleep(5) return a**a if __name__ =="__main__": p=Pool(processes=5) result=p.apply_async(sayHi,[10]) print result.get() 一个池子启用5个线程池,且异步一次返回结果 可以用for循环使用多次异步: #!

python多进程中使用pool

Python 多进程中使用pool,pool中指定每次运行几个进程,当其中一个进程结束完毕后,会加入新的进程 #!/usr/bin/env python #coding: utf-8 import multiprocessing import os,time,random def Lee(): print "Run task Lee-%s" %(os.getpid()) #os.getpid()获取当前的进程的ID start=time.time() time.sleep(random

python笔记——简易线程池multiprocessing.Pool

多线程模型设计是一个比较复杂的逻辑,但是python对于多线程的处理却有种种方便的类库,不需要过多的纠结线程间的操作细节.比如multiprocessing.Pool就是其中之一. 官方给的范例也很简单. from multiprocessing import Pool def f(x): return x*x if __name__ == '__main__': pool = Pool(processes=4) # start 4 worker processes result = pool.

python之multiprocessing(二):multiprocessing.Pool

[实现:多进程paramiko] 1.server_list.txt   :格式   HOST  PORT   USER   PASSWD localhost 22 root root193.168.49.144 22 root root 2.get_server_list.py server_list_file = "server_list.txt"def get_serverlist_dic():        server_dic = {}        f = file(ser

python多进程之Pool

mulitprocessing.Pool初始化参数可以指定进程池中的线程数 给进程池添加任务obj.apply_async(func,(arg,)) 添加完任务后需要调用进程池的close方法 Pool进程实现方式中主进程不会等待,执行完后就关闭,会导致子进程不能执行,所以需要调用Join方法 """ python 进程池 """ from multiprocessing import Process, Pool import os # crea