Dapid

Untitled

May 6th, 2012
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. from multiprocessing import Queue, Process, Pool
  2.  
  3. parameters=range(10)
  4. ncpu=2
  5.  
  6. q=Queue()
  7.  
  8. def calculate(par):
  9.         # Do stuff
  10.     q.put(result)
  11.     print result
  12.            
  13.  
  14. def saving():
  15.     while True:
  16.         try:
  17.             item=q.get(False)
  18.         except :
  19.             time.sleep(1)
  20.             continue
  21.  
  22.         savefile.write(result)
  23.        
  24.  
  25.  
  26. if __name__=="__main__":
  27.     print 'Started!'
  28.    
  29.     with open('myfile.txt', 'w', buffering=0) as savefile:
  30.         print 'Launched!'
  31.  
  32.         pool = Pool(processes=min(ncpu, len(parameters)))
  33.         pool.map_async(calculate, parameters, chunksize=1)
  34.         pool.close()
  35.  
  36.     k=Process(target=saving)
  37.     k.start()
  38.  
  39.         pool.join()
  40.     q.close()
  41.     q.join_thread()
  42.  
  43.    
  44.    
  45.     print 'End!'
Advertisement
Add Comment
Please, Sign In to add comment