[This is preliminary documentation and is subject to change.]

Receive a message from another process. The Receive operation is a blocking operation, that will not complete until it has completely received a message.

Namespace:  MPI
Assembly:  MPI (in MPI.dll)
Version: (


public void Receive<T>(
	int source,
	int tag,
	out T value,
	out CompletedStatus status
Visual Basic (Declaration)
Public Sub Receive(Of T) ( _
	source As Integer, _
	tag As Integer, _
	<OutAttribute> ByRef value As T, _
	<OutAttribute> ByRef status As CompletedStatus _
Visual C++
generic<typename T>
void Receive(
	int source, 
	int tag, 
	[OutAttribute] T% value, 
	[OutAttribute] CompletedStatus^% status


Type: System..::.Int32
The process that sent (or that will send) the message. This must be a value in [0, Size-1), but it should not be equal to Rank. Alternatively, this might have the special value anySource, if the message can be received from any other process in this communicator.
Type: System..::.Int32
A message "tag" that identifies this particular kind of message. Only messages sent with this tag will be received by this call. The special value anyTag permits messages sent with any tag value to be received.
Type: T %
When Receive completes, this parameter will contain the value transmitted as part of the message.
Type: MPI..::.CompletedStatus %
Receives information about the completed receive operation.

Type Parameters

The type of the value that will be received. This type must be serializable.

See Also