realsdx

readerWRIter.py

Nov 7th, 2019
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. from multiprocessing import Process,Queue
  2. import time
  3. from threading import Thread
  4.  
  5.  
  6. def writer(wrt,arr):
  7. x=0
  8. while wrt==0:
  9. x+=1
  10. wrt=0
  11. arr.append(1)
  12. wrt=1
  13.  
  14. def reader(wrt,mutex,arr,readcount):
  15. x=0
  16. while mutex==0:
  17. x+=1
  18. readcount+=1
  19. if readcount==1:
  20. while wrt==0:
  21. x+=1
  22. mutex=1
  23.  
  24.  
  25. for i in arr:
  26. print("arr elements are",i)
  27.  
  28. while mutex==0:
  29. x+=1
  30. readcount-=1
  31. if readcount==0:
  32. wrt=1
  33. mutex=1
  34.  
  35. arr=[]
  36. mutex=1
  37. wrt=1
  38. readcount=0
  39. t1=Thread(target=writer,args=(wrt,arr,))
  40. t2=Thread(target=reader,args=(wrt,mutex,arr,readcount,))
  41. t3=Thread(target=writer,args=(wrt,arr,))
  42. t4=Thread(target=reader,args=(wrt,mutex,arr,readcount,))
  43. t1.start()
  44. time.sleep(3)
  45. t2.start()
  46. time.sleep(3)
  47. t3.start()
  48. time.sleep(3)
  49. t4.start()
Add Comment
Please, Sign In to add comment