我有两个过程。 在将来,应该控制一个websocket,另一个线程从funk模块接收消息。
现在我希望有一个回调on_message,我可以通过NRF发送一些东西。
所以我做了一个抽象的实验。但是我找不到另一个进程的回调。
import multiprocessing
from multiprocessing import Queue, Process
def main():
main_queue = Queue()
slave_queue = Queue()
main_process = multiprocessing.Process(target=Main, args=(slave_queue, main_queue))
slave_process = multiprocessing.Process(target=SlaveThread, args=(main_queue, slave_queue))
main_process.start()
slave_process.start()
main_process.join()
slave_process.join()
class SlaveThread:
def __init__(self, main_queue, slave_queue):
main_queue.put(self.callback)
while True:
slave_queue.get()()
def print_slave_thread(self):
print("SlaveThread")
def callback(self):
print("callback from Slave")
class Main:
def __init__(self, main_queue, slave_queue):
slave_queue.put(self.callback)
while True:
main_queue.get()()
def print_what_websocket_has_send(self):
print("MainThread")
def callback(self):
print("callback from Main")
if __name__ == '__main__':
main()
遗憾的是,这种方法不起作用。
答案 0 :(得分:0)
我不确定您是否可以将函数发送到多进程。但是,可以将信息发送到Queue,然后由子进程读取。您可以发送sAMAccountName
,然后将其展开到dict
,如果有必要的话。