# -*-coding:utf-8-*- import random, time, queue from multiprocessing.managers import ListProxy, EventProxy import torch.multiprocessing as mp mp.current_process().authkey = b'abc' #from multiprocessing import Manager as mp def start_server(manager, host, port, key): #l = manager.list([manager.list([1 for _ in range(2)])for _ in range(2)]) l = manager.list([mp.Event() for _ in range(2)]) manager.register('get_list', callable=lambda :l, proxytype=ListProxy) #need to define proxytype! manager.__init__(address=(host, 5000), authkey=b'abc') print('Connect to server %s' % host) #manager.start() s = manager.get_server() s.serve_forever() #return manager if __name__ == "__main__": mp.set_start_method('spawn') #can't create manager or list out of main or function manager = mp.Manager() start_server(manager, '', 5000, b'abc') #logic(manager)