Advertisement
Guest User

Untitled

a guest
Sep 24th, 2018
31
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 Pool
  2. import time
  3.  
  4. class Sensor_A:
  5.     def get_data(self):
  6.         time.sleep(0.75)
  7.         return 1
  8.  
  9. class Sensor_B:
  10.     def get_data(self):
  11.         time.sleep(0.6)
  12.         return 2
  13.  
  14. def worker(obj):
  15.     return getattr(obj, 'get_data')()
  16.  
  17. def measure(n, sensor_list, interval):
  18.     for i in range(0, n):
  19.         start_time = time.time()
  20.         with Pool(4) as p:
  21.             results = p.map(worker, sensor_list)
  22.         waittime = (start_time
  23.                     + interval
  24.                     - time.time())
  25.         time.sleep(waittime)
  26.         print('{} at {}'.format(repr(results), time.time()))
  27.        
  28. if __name__=='__main__':
  29.     sensor_list = [ Sensor_A(), Sensor_B(), Sensor_B() ]
  30.     measure(5, sensor_list, 2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement