RUVIDEO
Поделитесь видео 🙏

producer consumer problem example 2[with Synchronization] - Part 2

producer consumer problem example 2[with Synchronization]

Example program

from threading import Thread,currentThread,Condition
import random,time

class Kitchen():
def __init__(self):
self.dosai=-1
self.ready=False
self.controller=Condition()

def make_dosai(self,d_no):
self.controller.acquire()
while self.ready:
self.controller.wait()
self.dosai=d_no
print(currentThread().getName(), " have produced the dosai no ",self.dosai)
self.ready=True
self.controller.notify()
self.controller.release()


def give_dosai(self):
self.controller.acquire()
while not self.ready:
self.controller.wait()
print(currentThread().getName()," have consumed the dosai ",self.dosai)
self.ready=False
self.controller.notify()
self.controller.release()

return self.dosai

class Mother(Thread):
def __init__(self,kit,no_do,mk_time):
Thread.__init__(self,name="Mother as producer")
self.kit=kit
self.no_dosai=no_do
self.mk_time=mk_time

def run(self):
print("The mother thread started")
for count in range(self.no_dosai):
time.sleep(random.randint(1,self.mk_time))
self.kit.make_dosai(count+1)
print(self.getName()," completed making dosai")

class son(Thread):
def __init__(self,kit,no_do,mk_time):
Thread.__init__(self,name=" Son the consumer")
self.kit = kit
self.no_dosai = no_do
self.mk_time = mk_time

def run(self):
print("The son thread started")
for count in range(self.no_dosai):
time.sleep(random.randint(1, self.mk_time))
self.kit.give_dosai()
print(self.getName()," have completed consuming")

if __name__=="__main__":
k=Kitchen()
no_d=int(input("Enter the number of dosai to make"))
mk_time=5
m=Mother(k,no_d,mk_time)
s=son(k,no_d,mk_time)
print("Theard Execution started")
m.start()
s.start()

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «producer consumer problem example 2[with Synchronization] - Part 2», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.