147
Основное
различие здесь состоит в том, что библиотека
ждущих блокировок имеет
скрытый внутренний мутекс, а при
использовании условных переменных мутекс передается явно.
Последний способ дает нам больше гибкости.
И, наконец, обратите внимание на то, что мы использовали
функцию
pthread_cond_signal() (опять же, с
явной передачей
мутекса).
2.6.4
Результаты
# root/a.out
Start
Eto potrebitel
W1
W2
Eto ptoizvoditel
ptoizvoditel polychil dannie ot h/w = 0
Wp1
Wp3
W3
dannie ot proizv = 1
W1
W2
ptoizvoditel polychil dannie ot h/w = 1
Wp1
Wp3
W3
dannie ot proizv = 2
W1
W2
ptoizvoditel polychil dannie ot h/w = 2
Wp1
Wp3
W3
148
dannie ot proizv = 3
W1
W2
ptoizvoditel polychil dannie ot h/w = 3
Wp1
Wp3
W3
dannie ot proizv = 4
W1
W2
§8.
Лабораторная работа № 8 «Итоговая. Индивидуальное
задание»
Тема: Разработка мультипроцессных приложений.
Цель работы: Закрепление работы с функциями ОС РВ для
запуска параллельных процессов и организации межпроцессного
взаимодействия посредством сообщений.
Do'stlaringiz bilan baham: