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

Receive a message from another process.

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


public void Receive<T>(
	int source,
	int tag,
	ref T[] values
Visual Basic (Declaration)
Public Sub Receive(Of T) ( _
	source As Integer, _
	tag As Integer, _
	ByRef values As T() _
Visual C++
generic<typename T>
void Receive(
	int source, 
	int tag, 
	array<T>^% values


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: array<T>[]()[]%
When Receive completes, this parameter will contain the values transmitted as part of the message. The values array must be large enough to contain all of the values that will be received.

Type Parameters

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


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

See Also