from multiprocessing import Pool
import os,time
import multiprocessing
def func(msg):
print("msg:", msg)
time.sleep(3)
print("end")
return "done" + msg
#使用进程池,异步调用
# if __name__ == "__main__":
# pool = multiprocessing.Pool(processes = 3)
# result=[]
# for i in range(6):
# msg = "hello %d" %(i)
# result.append(pool.apply_async(func, (msg, )))
#
# print("Mark~ Mark~ Mark~~~~~~~~~~~~~~~~~~~~~~")
# pool.close()
# pool.join()
# print(result)#<multiprocessing.pool.ApplyResult object at 0x0000027826D1F160>
# for res in result:
# print(res.get())
# print("Sub-process(es) done.") '''
Mark~ Mark~ Mark~~~~~~~~~~~~~~~~~~~~~~
msg: hello 0
msg: hello 1
msg: hello 2
end
msg: hello 3
end
end
msg: hello 4
msg: hello 5
end
end
end
[<multiprocessing.pool.ApplyResult object at 0x0000027826D1F160>]
donehello 0
donehello 1
donehello 2
donehello 3
donehello 4
donehello 5
Sub-process(es) done.
''' #使用进程池,同步调用
if __name__ == "__main__":
pool = multiprocessing.Pool(processes = 3)
result=[]
for i in range(6):
msg = "hello %d" %(i)
result.append(pool.apply(func, (msg, ))) print("Mark~ Mark~ Mark~~~~~~~~~~~~~~~~~~~~~~")
pool.close()
pool.join()
print(result)# print("Sub-process(es) done.")
'''
msg: hello 0
end
msg: hello 1
end
msg: hello 2
end
msg: hello 3
end
msg: hello 4
end
msg: hello 5
end
Mark~ Mark~ Mark~~~~~~~~~~~~~~~~~~~~~~
['donehello 0', 'donehello 1', 'donehello 2', 'donehello 3', 'donehello 4', 'donehello 5']
Sub-process(es) done.
'''

process_进程池的更多相关文章

  1. process_进程池_2

    import multiprocessingimport os, time, random def Lee(): print("\nRun task Lee-%s" %(os.ge ...

  2. python进程池:multiprocessing.pool

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

  3. 64位进程池HashCode兼容处理

    背景 net旧项目使用32位生成的HashCode,存储到数据库中.迁移到64位上,就需要对HashCode做兼容处理. 解决方案 1:进程池配置支持32位程序. 2:对Hashcode做兼容处理,[ ...

  4. Linux客户/服务器程序设计范式2——并发服务器(进程池)

    引言 让服务器在启动阶段调用fork创建一个子进程池,通过子进程来处理客户端请求.子进程与父进程之间使用socketpair进行通信(为了方便使用sendmsg与recvmsg,如果使用匿名管道,则无 ...

  5. PYTHON多进程编码结束之进程池POOL

    结束昨晚开始的测试. 最后一个POOL. A,使用POOL的返回结果 #coding: utf-8 import multiprocessing import time def func(msg): ...

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

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

  7. python进程池剖析(三)

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

  8. python进程池剖析(二)

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

  9. python进程池剖析(一)

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

随机推荐

  1. 网络命令ping/netstat/ipconfig/arp/tracert/nbstat

    1.1 Ping命令的使用 ping检测网络故障步骤: ping 127.0.0.1 ping环绕指针检测是否在计算上anzhaung了TCP/IP协议及配置是否正确 ping本机IP这个命令被被送到 ...

  2. HTML5 Canvas ( 图片填充样式 ) fillStyle, createPattern

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Struts2:No result defined for action com.yibai.user.action.LoginAction and result input

    转自:https://zhidao.baidu.com/question/133574016.html 1 String 里面有5个static 常量分别是: ERROR INPUT LOGIN NO ...

  4. [Ora]-1309. OCI is not properly installed on this machine (NOE1/INIT)

    When the Oracle client software has not been properly installed, you will get an exception when tryi ...

  5. ABAP-反调JCO服务

  6. windows phone, 应用最大内存

    windows phone应用最大内存为150M,当app运行时所占内存超过150M时app会自动退出(VS debug时不容易捕捉到这个内存超出异常). [注]可通过配置增大最大内存

  7. 通过maven 上传jar 到nexus3,cong nexus3下载jar

    nexus是一种常见的maven私服软件. 网上介绍的都是nexus2的使用,下面是最新版nexus3的使用方式. 首先需要从官网下载nexus3的包,很卡. 下载好以后解压会有两个文件夹:nexus ...

  8. 【340】GIS related knowledge

    mpk: 对地图文档以及所有引用的数据源进行打包可创建经过压缩的单个 .mpk 文件.参考,可以通过 Package Map 工具实现. Collector for ArcGIS Survey123 ...

  9. hbase orm中间层hbasedao

    博客园发布文章的体验太差,Markdown的支持巨烂无比,尝试了富文本编辑,太麻烦,遂作罢.想看的跳转到这两个连接吧 树莓派的奇幻漂流 github

  10. LINUX 修复relocation error: /lib/tls/libc.so.6

    错误信息: relocation error: /lib/tls/libc.so.6: symbol _dl_tls_get_addr_soft, version GLIBC_PRIVATE not ...