Spaces:
Running
Running
| 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 | |