#!/usr/bin/env python from multiprocessing import Queue, Process, current_process def worker(tasks, results): # Get a tasks t = tasks.get() # Do operation result = t * 2 # Put the result in results queue results.put([current_process().name, t, "*", 2, result]) if __name__ == '__main__': # Number of processes n = 100 # Create my tasks and results Queue myTasks = Queue() myResults = Queue() # Create n process Workers = [ Process(target=worker, args=(myTasks, myResults)) for i in range(n) ] # Start processes for each in Workers: each.start() # Create tasks for each in range(n): myTasks.put(each) # Get the results for each in range(n): result = myResults.get() print("Res : %s" % result)