Rendezvous Synchronization Primitive

ImprimirCitar

Rendezvous is an asymmetric synchronization primitive that allows two concurrent processes, the requester and the caller, to exchange data in a coordinated manner. The process requesting the rendezvous must wait at the rendezvous point until the called process arrives there. Likewise, the called process can reach the rendezvous before the requester and must wait for it to arrive at the rendezvous point in order to continue processing. The image of waiting at the meeting point corresponds to placing a process on idle wait until the appointment is fulfilled. During rendezvous processes can exchange data.

The data exchanged corresponds to parameters of a call (from the requestor to the called process) and to results of a call (from the called process to the requestor), without the need for buffering.

The disadvantage of the rendezvous abstraction is that it does not allow for the passage of messages asynchronously, as in the case of queues. In the Ada programming language it is necessary to implement asynchronous communication and other communication abstractions from rendevouz combined with intermediate processes and encapsulation.

Example

Example in Ada where the Queue process accepts a rendezvous of name add:


 task type Cola is entry add(n: in Integer);
 entry delete(x: out Integer);
...
 end Cola
 -- Cola implementation
 task body Cola is begin...
 accept add(n: in Integer) do... Body of operation
 end add;
...
 end Cola;
 --Lamada from another process:
 begin...
Cola.agregar(n)
 end

Contenido relacionado

Symbol table

Depending on the context you are in, a symbol table can...

Extraction of information

Information Extraction is a type of information retrieval whose objective is to automatically extract structured or semi-structured information from...

Firewall

The word firewall or firewall can refer...
Más resultados...
Tamaño del texto: