123456789101112131415161718192021222324 |
- from multiprocessing import Pipe, Queue
- import time
- import threading
- class PipeSide(object):
- def __init__(self, q_2remote, q_2local) -> None:
- self.q_2remote = q_2remote
- self.q_2local = q_2local
- def recv(self):
- return self.q_2local.get()
- def send(self, buf):
- self.q_2remote.put(buf)
- def poll(self):
- return not self.q_2local.empty()
- def create_queue_pipe():
- q_p2c = Queue()
- q_c2p = Queue()
- pipe_c = PipeSide(q_2local=q_p2c, q_2remote=q_c2p)
- pipe_p = PipeSide(q_2local=q_c2p, q_2remote=q_p2c)
- return pipe_c, pipe_p
|