多进程编程

2019-07-16  本文已影响0人  求索_700e

问题:在将两个不同的keras模型放在一个python文件中执行的时候,总是出现各种各样的问题,而且采用多线程也不能解决问题,主要是因为线程之间是共享资源的,后来移到多进程中,完美解决。多进程可以参考一下代码,keras模型没有嵌入其中,可自行加入。

from multiprocessing import Queue   ##注意,多进程管道通信,不能用from queue import Queue

from multiprocessing import Process

import os

import time

#将信息写入进程

def w(q):

print("开始写入%s"%os.getpid())

for i in "hello":

#将信息写入队列。

q.put(i)

print(i)

#读取进程里面的信息。

def rd(q):

print("%s开始读取信息"%os.getpid())

while True:

if not q.empty():

#从队列里面读取信息。

time.sleep(2)

print("read to %s" % q.get())

if __name__=="__main__":

#创建进程队列,通过类的实例化来实现。:

q=Queue()

#创建写入进程.

t=Process(target=w,args=(q,))

#启动写入进程。

t.start()

#创建读取进程。

r=Process(target=rd,args=(q,))

#启动读取进程。

r.start()

上一篇 下一篇

猜你喜欢

热点阅读