通过 Manager() 返回的管理器对象支持的类型有:list, dict, Namespace, Lock, RLock, Semaphore, BoundedSemaphore, Condition, Event, Barrier, Queue, Value and Array.
from multiprocessing import Lock, Manager, Queue
class Processing_Information(object):
进程之间通信
def __init__(self):
# RawValue because we don't need it to create a Lock:
self.mag = Manager()
self._frame = self.mag.dict()
self._result = self.mag.dict()
self._model_load = self.mag.dict()
self._screen_result = self.mag.dict()
self.lock = Lock()
@property
def frame(self):
with self.lock:
return self._frame
@frame.setter
def frame(self, value):
with self.lock:
self._frame = value
@property
def result(self):
with self.lock:
return self._result
@result.setter
def result(self, value):
with self.lock:
for key, value in value.items():
self._result[key] = value
@property
def screen_result(self):
with self.lock:
return self._screen_result
@screen_result.setter
def screen_result(self, value):
with self.lock:
if value:
for key, value in value.items():
self._screen_result[key] = value
else:
self._screen_result={}
@property
def model_load(self):
with self.lock:
return self._model_load
@model_load.setter
def model_load(self, value):
with self.lock:
self._model_load = value
进程之间通信
最新推荐文章于 2022-05-26 11:40:20 发布