Множество значений:
Множество действий:
Var S: ДвСемафор;
P(S):
if(S=0) then ждать(S>0);
S:= 0;V(S):
S:= 1;
P и V операции неделимы; т.е. выполнять P(S) может только один процесс ;
Если один из процессов выполнил P(S) и вошел в свою КС, то S=0 и все остальные процессы, выполняющие P(S), будут блокироваться. Т.е взаимное исключение обеспечено
При выполнении V(S) соблюдается очередность, т.е. никто не будет ждать бесконечно долго
«Поставщик-Потребитель» - реализация
Var Доступ: ДвСемафор = 1;
Полон: ОбСемафор = N; Пуст: ОбСемафор = 0;
Потребитель:
loop
P(Пуст);
P(Доступ);
Чтение_из_буфера;
V(Доступ);
V(Полон);
Обработка;
endloop.
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть