|
|
||
7. Синхронный и асинхронный обмен данными |
||
При передаче данных различают синхронный и асинхронный обмен данными. Если поток-отправитель, отправив сообщение функцией send, блокируется до получения этого сообщения потоком-адресатом, то такое отправление
сообщения называется синхронным. В противном случае отправление сообщения называется асинхронным. Если поток-адресат, вызвавший функцию receive, блокируется до тех пор, пока не получит сообщение, то такое получение сообщения называется синхронным. В противном случае получе-ние сообщения называется асинхронным. Обмен сообщениями называется синхронным, если поток-отправитель синхронно передает сообщения, а поток-адресат синхронно принимает эти сообщения. В противном случае обмен сообщениями называется асинхронным. Предполагается, что обмен данными потоком всегда происходит синхронным образом, т. к. в этом случае между отправителем и адресатом устанавливается непосредственная связь. Синхронный обмен данными в случае прямой адресации процессов называется рандеву (rendezvous, франц. "встреча"). Такой механизм обмена сообщениями используется в языке программирования Ада. Учитывая возможности синхронного обмена данными, этот механизм может использоваться для решения задач синхронизации процессов. При этом следует отметить, что в операционных системах Windows синхронизация процессов, выполняющихся на разных компьютерах в локальной сети, может осуществляться только при помощи механизма синхронного обмена данными. |
||
|
||
7 |