关闭

day11_进程之间的数据共享

90人阅读 评论(0) 收藏 举报
分类:
1.#__author__ = 'DouYunQian'
#coding=utf-8
from multiprocessing import Process
import time
from multiprocessing import queues
import multiprocessing
def f(i,l):
#     l.append(i)
    
    l.put(i)
#     time.sleep(2)
    print("Say:",i,"***",l.qsize())
    
if __name__=="__main__":
#     l=[]
    l=queues.Queue(10,ctx=multiprocessing)
    for i in range(10):
        t=Process(target=f,args=(i,l))
        t.daemon=False #这是等待的意思
        t.start()
        

    print("End")



2.代码2:

from multiprocessing import Process
from multiprocessing import Array


def f1(i,array):
    array[i]=i+100
    for item in array:
        print(item)
if __name__=="__main__":
    c=Array("i",10) #指定类型和最大个数
    for i in range(10):
        p=Process(target=f1,args=(i,c))
        p.start()
        p.join()
    print("End")



3.代码3:

from multiprocessing import Process
from multiprocessing import Manager
def f1(i,di):
    di[i]=i+100
    
    
if __name__=="__main__":
    c=Manager()
    dic=c.dict()
    for i in range(10):
        t=Process(target=f1,args=(i,dic,))
        t.start()
        t.join()#此处如果不加join会报错,报错如下:
    print("End")




  File "C:\Python34\lib\multiprocessing\managers.py", line 715, in _connect
    conn = self._Client(self._token.address, authkey=self._authkey)
  File "C:\Python34\lib\multiprocessing\connection.py", line 494, in Client
    c = PipeClient(address)
  File "C:\Python34\lib\multiprocessing\connection.py", line 697, in PipeClient
    _winapi.WaitNamedPipe(address, 1000)
FileNotFoundError: [WinError 2] The system cannot find the file specified

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:76881次
    • 积分:5112
    • 等级:
    • 排名:第5999名
    • 原创:458篇
    • 转载:0篇
    • 译文:1篇
    • 评论:0条