Я хотел бы разделить переменную между двумя процессами внутри python.
, когда я использую диспетчер модуля многопроцессорной обработки или shared_memory, общие значения доступны только статически с помощью вызываемого метода и не могут быть доступны глобально, или Я просто хочу, чтобы использовать его так ... в любом случае я нашел интересное решение, но оно вылетает без сообщения об ошибке.
python MAIN_PROCESS
import mmap, lab_multiprocess_2, time
from multiprocessing import Process
import multiprocessing
mm = mmap.mmap(-1,13)
mm.write(b"Hello World!")
a = "ff"
id_ = id(a)
b = None
def funcname(a_):
pr = Process(target=lab_multiprocess_2.main_,args=(id_,b))
pr.start()
pass
if __name__ == "__main__":
a = "ff"
id_ = id(a)
funcname(id_)
python CHILD_PROCESS
import time, mmap
import multiprocessing, ctypes
from multiprocessing import shared_memory
def main_(address,b):
while 1:
time.sleep(1)
print(ctypes.cast(address, ctypes.py_object).value)
pass
def sleep():
while True:
time.sleep(5)
print("idle")
if __name__ == "__main__":
sleep()