Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- zadatak
- ==================================
- import threading
- import time
- class MojaNit(threading.Thread):
- def __init__(self, ime, vreme):
- threading.Thread.__init__(self)
- self.ime=ime
- self.vreme=vreme
- def run(self):
- print (self.ime+time.strftime("%d.%m.%Y %H:%M:%S", time.gmtime(time.time())))
- time.sleep(self.vreme)
- print ("izlaz iz niti")
- def prikaz_vreme(pauza):
- print (threading.current_thread().getName()+" zahteva resurs..")
- brava.acquire()
- print (threading.current_thread().getName() + " uzima resurs..")
- print (time.strftime("%d.%m.%Y %H:%M:%S", time.gmtime(time.time())))
- time.sleep(pauza)
- brava.release()
- print (threading.current_thread().getName() + " oslobadja resurs..")
- #print ("izlaz iz funkcije")
- brava=threading.Lock()
- t=threading.Thread(target=prikaz_vreme,args=(3,))
- t.setName("Nitica 1")
- t.start()
- t2=threading.Thread(target=prikaz_vreme,args=(4,))
- t2.setName("Nitica 2")
- t2.start()
- t2.join() #zaustavlja tekucu nit, u ovom sluchaju main, da zavrshi t2
- mt=MojaNit("Nit 1", 5)
- mt.setName("Nit 2")
- mt.start()
- print (threading.enumerate()) #vraca broj aktivnih niti
- print ("Kraj")
- ==================================
- pumpa
- ==================================
- import threading
- import random
- brava=threading.Lock()
- pumpa=80
- class Automobil(threading.Thread):
- def __init__(self):
- threading.Thread.__init__(self)
- id=1;
- self.rezervoar=random.uniform(10,25)
- self.vreme_pristupa=random.randrange(1,3)
- self.id+=id
- def run(self):
- print ("Automobil(regBR:RB0%d) pristaje na pumpu. Trazena kolicina %.2f L" % self.id, self.rezervoar)
- brava.acquire()
- brava.release()
- class Cisterna(threading.Thread):
- def __init__(self):
- self.dopuna=80
- self
- print (random.randrange(10,26))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement