added a loop while (true) to both def reader (): and def writer () but still not working in way when I run the code down will not stop to the user click ctrl +c or to be run to the end  import threading as thread import random global x                #Shared Data x = 0 lock = thread.Lock()    #Lock for synchronising access def Reader(): while(true):     global x     print('Reader is Reading!')     lock.acquire()      #Acquire the lock before Reading (mutex approach)     print('Shared Data:', x)     lock.release()      #Release the lock after Reading

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter11: Operating Systems
Section: Chapter Questions
Problem 14VE
icon
Related questions
Question

I added a loop while (true) to both def reader (): and def writer () but still not working

in way when I run the code down will not stop to the user click ctrl +c or to be run to the end 

import threading as thread
import random

global x                #Shared Data
x = 0
lock = thread.Lock()    #Lock for synchronising access

def Reader():

while(true):
    global x
    print('Reader is Reading!')
    lock.acquire()      #Acquire the lock before Reading (mutex approach)
    print('Shared Data:', x)
    lock.release()      #Release the lock after Reading
    print()

def Writer():

while(true)
    global x
    print('Writer is Writing!')
    lock.acquire()      #Acquire the lock before Writing
    x += 1              #Write on the shared memory
    print('Writer is Releasing the lock!')
    lock.release()      #Release the lock after Writing
    print()

if __name__ == '__main__':
    for i in range(0, 10):
        randomNumber = random.randint(0, 100)   #Generate a Random number between 0 to 100
        if(randomNumber > 50):
            Thread1 = thread.Thread(target = Reader)
            Thread1.start()
        else:
            Thread2 = thread.Thread(target = Writer)
            Thread2.start()

Thread1.join()
Thread2.join()

# print(x)

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Deposit method
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning