python 进程multiprocessing库
来源:互联网 发布:口袋妖怪淘宝买精灵 编辑:程序博客网 时间:2024/05/16 01:31
#coding:utf-8from multiprocessing import Processfrom multiprocessing import Poolfrom multiprocessing import Queuefrom multiprocessing import Pipefrom multiprocessing import Lockfrom multiprocessing import Semaphorefrom multiprocessing import Eventimport osdef fun(i):print iif __name__=='__main__':#优先考虑Pipe和Queue,避免使用Lock,Semaphore,Event等同步方式#多进程应该避免共享资源#通过os的fork创建进程pid=os.fork()if pid==0:#子线程else:#等待子进程结束,相当于join,不然子进程将成为僵尸进程os.wait()#父进程#Process创建进程#agrs是一个iterp=Process(target=fun, args=(1, ))p.start()print os.getpid()p.join()#Pool创建线程池p=Pool()#默认线程数是cpu核心数for i in range(5):p.apply_async(fun, args=(i, ))#必须先close才能joinp.close()p.join()#####进程间通信#####Queue是多进程安全的队列def write(q):q.put('a')print 'put ok'def read(q):val=q.get(True)print 'get %s ok'%val#建立队列q=Queue()#multiprocess属于跨平台,线程间通信必须先pickle序列化pw=Process(target=write, args=(q, ))pr=Process(target=read, args=(q, ))pw.start()pr.start()pw.join()#关闭进程pr.terminate()#Pipe#Pipe返回两个端,duplex为True时,管道为全双工,两端都可以收发,False,conn1接受,conn2发送def send(conn):conn.send("123")conn.close()conn1, conn2=Pipe(duplex)pr=Process(target=func, args=(con1, ))pw=Process(target=func, args=(con2, ))#Lockdef l(lock):#上锁Lock.acquire()。。。#解锁Lock.release()#Semaphore#设置资源数,用于Lock时用#Event进程间同步通信
0 1
- python 进程multiprocessing库
- python标准库之多进程 (multiprocessing包)
- Python-multiprocessing进程管理
- Python多进程multiprocessing
- Python 多进程(multiprocessing)
- python 多进程 multiprocessing
- python之多进程和进程池(multiprocessing库)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- python进程池:multiprocessing.pool
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- python进程池:multiprocessing.pool
- Python多进程并发(multiprocessing)
- JavaScript内核笔记04-数组
- 数据结构:循环队列(队列的顺序表示)
- 客户细分的7个诀窍
- TEST
- [c3p0] 第二篇:使用c3p0
- python 进程multiprocessing库
- 数据挖掘的五个误区
- PHP语言学习(环境安装)
- 商业银行建立客户流失预测模型的方法研究
- [leetcode] 83.Remove Duplicates from Sorted List Total
- Linux内核同步机制之(五):Read/Write spin lock
- OC基础-零基础学习Objective-C:第一部分.类和对象
- 一些常用iOS第三方库以及XCode插件介绍
- 利用数据挖掘实现电信行业客户流失分析