pos threading as random
import threading as thread
import random
global x
x=0
lock=thread.Lock()
def Reader():
global x
print("Reader is reading!")
lock.acquire()
print("shared data:",x)
lock.release()
print()
def writer():
global x
print("writer is writing!")
lock.acquire()
x+=1
print("writer is releasing is lock!")
lock.release()
print()
if __name__=='__main__':
for i in range(0,10):
randomNumber=random.randint(0,100)
if(randomNumber>50):
Thread1=thread.Thread(target=Reader)
Thread1.start()
print(end='\n')
else:
Thread2=thread.Thread(target=writer)
Thread2.start()
print(end='\n')
Thread1.join()
Thread2.join()
No comments