К Т П           План занятия                                                              1                                           Страницы  | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 |

7. Синхронный и асинхронный обмен данными

При передаче данных различают синхронный и асинхронный обмен данными. Если поток-отправитель, отправив сообщение функцией send, блокируется до получения этого сообщения потоком-адресатом, то такое отправление сообщения называется синхронным. В противном случае отправление сообщения называется асинхронным. Если поток-адресат, вызвавший функцию receive, блокируется до тех пор, пока не получит сообщение, то такое получение сообщения называется синхронным. В противном случае получе-ние сообщения называется асинхронным.

Обмен сообщениями называется синхронным, если поток-отправитель синхронно передает сообщения, а поток-адресат синхронно принимает эти сообщения. В противном случае обмен сообщениями называется асинхронным. Предполагается, что обмен данными потоком всегда происходит синхронным образом, т. к. в этом случае между отправителем и адресатом устанавливается непосредственная связь.

Синхронный обмен данными в случае прямой адресации процессов называется рандеву (rendezvous, франц. "встреча"). Такой механизм обмена сообщениями используется в языке программирования Ада.

Учитывая возможности синхронного обмена данными, этот механизм может использоваться для решения задач синхронизации процессов. При этом следует отметить, что в операционных системах Windows синхронизация процессов, выполняющихся на разных компьютерах в локальной сети, может осуществляться только при помощи механизма синхронного обмена данными.

 

 


Предыдущая        В начало страницы       Следующая
7