Python Race Condition
Master Python with 70+ Hands-on Projects and Get Job-ready - Learn Python
Program 1
# Race Condition
import time
from threading import *
l=Lock()
def printTable(n):
l.acquire()
for i in range(1,11):
print(n*i)
time.sleep(1)
l.release()
#Main Thread
start=time.time()
T1=Thread(target=printTable,args=(5,),name="One")
T2=Thread(target=printTable,args=(8,),name="Two")
T3=Thread(target=printTable,args=(10,),name="Two")
T1.start()
T2.start()
T3.start()
T1.join()
T2.join()
T3.join()
end=time.time()
print(end-start)
print("-----------Main End Here--------")Program 2
# Lock using OOPs
import time
from threading import *
# Outer resource
l=Lock()
class Table:
def printTable(self,n):
l.acquire()
for i in range(1,11):
print(n*i)
time.sleep(1)
l.release()
class MyThread1(Thread):
def run(self):
T1=Table()
T1.printTable(5)
class MyThread2(Thread):
def run(self):
T1=Table()
T1.printTable(8)
#Main Thread
start=time.time()
M1=MyThread1()
M2=MyThread2()
M1.start()
M2.start()
M1.join()
M2.join()
print("------Main Thread Ends-------")
end=time.time()
print(end-start)
You give me 15 seconds I promise you best tutorials
Please share your happy experience on Google

