Что такое функционирование в «Реальном масштабе времени»
Последовательность действий
Download 1.86 Mb. Pdf ko'rish
|
Луканов А.С. Системы реального времени 2020
3.3.
Последовательность действий В программе создаются и запускаются на исполнение два потока. Когда один поток приостанавливается, сразу начинает работу другой. Приостановка реализована функцией sleep(n), которая останавливает процесс на n секунд. На экране можно наблюдать, как по очереди работают два процесса. 3.4. Результаты выполнения программы # gcc pthread.c # `pwd`a.out Prog threads PID 852000 Etot pervii potok , TID 0 - N povtora 0 Etot vtoroi potok , TID 0 - N povtora 0 Etot vtoroi potok , TID 3 - N povtora 1 125 Etot pervii potok , TID 2 - N povtora 1 Etot vtoroi potok , TID 3 - N povtora 2 Etot vtoroi potok , TID 3 - N povtora 3 Etot pervii potok , TID 2 - N povtora 2 Etot vtoroi potok , TID 3 - N povtora 4 Etot pervii potok , TID 2 - N povtora 3 Etot pervii potok , TID 2 - N povtora 4 # §4. Лабораторная работа №4 «Обмен сообщениями» 4.1. Теория Архитектура и структура обмена сообщениями Три ключевые выражения: · « Клиент посылает (sends) сообщение серверу»; · « Сервер принимает (receives) сообщение от клиента»; · « Сервер отвечает (replies) клиенту». Эти выражения в точности соответствуют действительным именам функций, которые используются для передачи сообщений в QNX/Neutrino. Минимальный полезный набор функций включает в себя функции ChannelCreateQ, ConnectAttach(), MsgReplyQ, MsgSend() и MsgRecievef. Разобьем обсуждение на две части: отдельно обсудим функции, которые применяются на стороне клиента, и отдельно — те, что применяются на стороне сервера. Клиент Клиент, который желает послать запрос серверу, блокируется до тех пор, пока сервер не завершит обработку запроса. Затем, после завершения сервером обработки запроса, клиент разблокируется, чтобы принять «ответ». |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling