import time
from multiprocessing import Process,Pool
def f1(n):
time.sleep(0.5)
# print(n)
return n*n
if __name__ == '__main__':
pool = Pool(4)
# pool.apply(f1,args=(2,)) #同步方法
res_list = []
for i in range(10):
# print('任务%s'%i)
#进程池的同步方法,将任务变成了串行
# res = pool.apply(f1,args=(i,))
# print(res)
#进程池的异步方法
res = pool.apply_async(f1,args=(i,))
print(res)
# as_result = res.get() #join的效果
# print(as_result)
res_list.append(res)
pool.close() #锁住进程池,不再让其他的程序往里面扔新的任务了,确保没有新的任务交给进程池里面的进程
pool.join()
for r in res_list:
print(r.get())
time.sleep(2)
#主进程运行结束,进程池里面的任务全部停止,不会等待进程池里面的任务
print('主进程直接结束')
p = Process(target=f1,)

Python 进程池的同步方法和异步方法的更多相关文章

  1. Python 进程池的同步方法

    import time from multiprocessing import Process,Pool def f1(n): time.sleep(1) #print(n) return n*n i ...

  2. Python 进程池的异步方法

    import time from multiprocessing import Process,Pool def f1(n): time.sleep(0.5) # print(n) return n* ...

  3. python进程池:multiprocessing.pool

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

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

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

  5. python进程池剖析(三)

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

  6. python进程池剖析(二)

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

  7. python进程池剖析(一)

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

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

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

  9. python进程池

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

随机推荐

  1. JavaScript中的变量提升和函数提升

    在EcmaScript5中只有全局作用域和函数作用域,EcmaScript6增加了块级作用域. 块级作用域(一对花括号{}即为一个块级作用域) 变量提升 console.log(name); //un ...

  2. 谷歌浏览器怎样把网页全部内容保存为.mhtml文件?

    Chrome保存.mhtml网页文件的方法: 在 Chrome 地址栏中键入chrome://flags,回车, 在页面搜索栏输入mhtml 把“Save Page as MHTML”项修改为 Ena ...

  3. ubuntu 16.04 tip

    参考 1. 安装 python3.6 sudo add-apt-repository ppa:jonathonf/python-3.6  sudo apt-get update sudo apt-ge ...

  4. topcoder srm 565 div1

    problem1 link $f[i][j]$表示经过前$i$个怪物之后,花费$j$个硬币可以得到的最大值. problem2 link 设$nim[i]$表示数字$i$的nim值.那么题目就是求有多 ...

  5. log4net:ERROR ConfigureFromXml called with null 'element' parameter

    场景重现 ASP.NET Core 下集成 log4net 时, 运行时报错如下: log4net:ERROR ConfigureFromXml called with null 'element' ...

  6. IOS MVC与MVVM的区别

    MVVM是对胖模型进行的拆分,其本质是给控制器减负,就是把一些弱业务放到VM中去处理. MVC是一切设计的基础,所有新的设计模式都是基于MVC的改进.

  7. async await与promise

    1.async 的返回值一定是一个promise.,即使你的函数里没有return. // 测试async的返回值 async function testAsync() { } let result ...

  8. 连手机logcat,出现read:unexpected EOF

    使用logcat时,出现: 网上搜原因解释为log太多,普遍的解决方法是: adb logcat -G 20m 根本解决方法推荐:开发者设置,增大log size

  9. 关于antd 日期组件只选择年份,设置mode=year无法获取value的解决办法

    antd3.0后的某个版本后终于支持了只选择年份的设置.当时2.x版本的时候还不支持只选择年份,我们项目中有这个只选择年份的需求,为了ui风格的一致,只好自己撸了一个. 如今真是普天同庆!

  10. vscode之快速生成vue模板

    文件-首选项-用户代码片段-搜索“vue”点击进入vue.json 复制这个片段 { "Vue component": { "prefix": "vu ...