Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import threading
- import time
- import random
- LOCK = threading.RLock()
- var=[
- {'race':1,'time':10,'status':0},
- {'race':2,'time':20,'status':0},
- {'race':3,'time':30,'status':0},
- {'race':4,'time':40,'status':0},
- {'race':5,'time':50,'status':0},
- {'race':6,'time':60,'status':0},
- {'race':7,'time':70,'status':0},
- {'race':8,'time':80,'status':0},
- {'race':9,'time':90,'status':0},
- {'race':10,'time':100,'status':0},
- {'race':11,'time':110,'status':0},
- {'race':12,'time':120,'status':0},
- {'race':13,'time':130,'status':0},
- {'race':14,'time':140,'status':0},
- {'race':15,'time':150,'status':0},
- {'race':16,'time':160,'status':0},
- {'race':17,'time':170,'status':0},
- {'race':18,'time':180,'status':0},
- {'race':19,'time':190,'status':0},
- {'race':20,'time':200,'status':0},
- {'race':21,'time':210,'status':0},
- {'race':22,'time':220,'status':0},
- {'race':23,'time':230,'status':0},
- ]
- class Line(threading.Thread):
- def __init__(self,line):
- threading.Thread.__init__(self)
- self.daemon = True
- self.time=0;
- self.line=line
- def run(self):
- global LOCK
- global var
- for row in var:
- if (not row['status']):
- LOCK.acquire()
- row['status']=1;
- LOCK.release()
- #print(row['race'])
- print('Race: {}; time: {}, line: {}'.format(row['race'],row['time'],self.line))
- time.sleep(random.random())
- workerthreadlist=[]
- for x in range(1,4):
- #print(x)
- newthread = Line(x)
- workerthreadlist.append(newthread)
- newthread.start()
- while threading.active_count():
- time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement