Este método bloquea el proceso que lo invoca hasta que la operación indicada en request se complete. Una vez se completa, se rellena la variable en el parámetro de salida status con los datos propios del objeto de tipo MPI_Status.
Un código sencillo de uso puede ser:
int main(int argc, char *argv[])
{
int rank, size;
int *mensaje;
MPI_Request request;
MPI_Status status;
MPI_Init(&argc, &argv); // Inicializamos las hebras
MPI_Comm_size(MPI_COMM_WORLD, &size); // Obtenemos el numero total de hebras
MPI_Comm_rank(MPI_COMM_WORLD, &rank); // Obtenemos el valor de nuestro identificador
mensaje = new int[50000];
...
// Rellenamos el mensaje
...
MPI_Isend (mensaje, // Buffer de envio
50000, // Numero de elementos a enviar en el buffer
MPI_INT, // Tipo de cada elemento
1, // Rank del proceso destino
1, // Etiqueta
MPI_COMM_WORLD, // Comunicador utilizado
&request); // Datos de la operacion
...
// Calculos y operaciones del programa
...
MPI_Wait(&request, &status);
// Si sale de Wait, el mensaje ha sido enviado
MPI_Finalize();
return 0;
}