Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from multiprocessing import Process,Queue
- import time
- from threading import Thread
- def writer(wrt,arr):
- x=0
- while wrt==0:
- x+=1
- wrt=0
- arr.append(1)
- wrt=1
- def reader(wrt,mutex,arr,readcount):
- x=0
- while mutex==0:
- x+=1
- readcount+=1
- if readcount==1:
- while wrt==0:
- x+=1
- mutex=1
- for i in arr:
- print("arr elements are",i)
- while mutex==0:
- x+=1
- readcount-=1
- if readcount==0:
- wrt=1
- mutex=1
- arr=[]
- mutex=1
- wrt=1
- readcount=0
- t1=Thread(target=writer,args=(wrt,arr,))
- t2=Thread(target=reader,args=(wrt,mutex,arr,readcount,))
- t3=Thread(target=writer,args=(wrt,arr,))
- t4=Thread(target=reader,args=(wrt,mutex,arr,readcount,))
- t1.start()
- time.sleep(3)
- t2.start()
- time.sleep(3)
- t3.start()
- time.sleep(3)
- t4.start()
Add Comment
Please, Sign In to add comment