By using
Queues and Pipes you can exchange data between two processes.
Using Queues
Queues are
thread and process safe.
from multiprocessing import Process, Queue def addToQueue(queue): queue.put([2, 3, 5, 7, 11]) if __name__ == '__main__': queue = Queue() p = Process(target=addToQueue, args=(queue,)) p.start() print(queue.get()) p.join()
Using Pipes
Pipe has two
ends, from one end we can send data and from other end we can receive data. By default pipe support two-way communication,
you can send, receive from either end. Pipes are not thread safe.
from multiprocessing import Process, Pipe def writeToConnection(conn): conn.send([2, 3, 5, 7]) conn.close() if __name__ == '__main__': parent_conn, child_conn = Pipe() p = Process(target=writeToConnection, args=(child_conn,)) p.start() print(parent_conn.recv()) p.join()
No comments:
Post a Comment