общая переменная между двумя процессами через ctypes, программа самопроизвольно завершает работу - PullRequest
0 голосов
/ 19 марта 2020

Я хотел бы разделить переменную между двумя процессами внутри 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...