python
from multiprocessing import Process, Queue
def worker(queue):
result = do_something(data)
if __name__ == '__main__':
data = ...
p = Process(target=worker, args=(queue,))
p.start()
p.join()
python
from multiprocessing import Process, Pipe
def worker(conn):
result = do_something(data)
if __name__ == '__main__':
data = ...
p = Process(target=worker, args=(child_conn,))
p.start()
p.join()
python
from multiprocessing import Process, Value, Array
def worker(shared_value, shared_array):
value = shared_value.value
array = shared_array[:]
do_something_with(value, array)
if __name__ == '__main__':
p = Process(target=worker, args=(shared_value, shared_array))
p.start()
shared_value.value = 10
shared_array[0] = 2.5
p.join()