Что такое функционирование в «Реальном масштабе времени»


Download 1.86 Mb.
Pdf ko'rish
bet69/72
Sana19.04.2023
Hajmi1.86 Mb.
#1362511
TuriУчебное пособие
1   ...   64   65   66   67   68   69   70   71   72
Bog'liq
Луканов А.С. Системы реального времени 2020

 
7.3. 
Последовательность действий 
 
Этот пример в значительной степени похож на программу с 
применением ждущей блокировки, с небольшими отличиями. 
Первое отличие, которое бросается в глаза, — здесь использован 
новый тип данных, pthread_cond__t. Это просто декларация для 
условной переменной; мы назвали нашу условную переменную 
condvar.
Следующее, что видно из примера, — это то, что структура 
«
потребителя» идентична таковой в предыдущем примере с 
ждущей блокировкой. 


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 «Итоговая. Индивидуальное 
задание» 
Тема: Разработка мультипроцессных приложений. 
Цель работы: Закрепление работы с функциями ОС РВ для 
запуска параллельных процессов и организации межпроцессного 
взаимодействия посредством сообщений. 

Download 1.86 Mb.

Do'stlaringiz bilan baham:
1   ...   64   65   66   67   68   69   70   71   72




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling