2010-04-02 7 views
5

Come rendere il programma C in attesa (su Linux)? (Ho bisogno di usare aspettare con MPI - ho bisogno di codice C per favore)Come far aspettare il programma C (su Linux)?

+1

sleep() da unistd.h? cosa intendi con "aspetta"? Basta fermarsi per un dato periodo di tempo o aspettare che un altro processo faccia qualcosa? –

risposta

3

È possibile utilizzare sleep(seconds)

+3

Oppure 'nanosleep' nel caso in cui voglia aspettare meno di un secondo: http://www.manpagez.com/man/2/nanosleep/ (era chiaro dal link, ma le persone ignorano i link passati a volte) –

2

Attendere cosa esattamente? Se vuoi solo un ritardo usa sleep().

1

Utilizzare MPI_Recv e utilizzare MPI_Send per inviare un messaggio al processo di attesa quando deve continuare.

11

Se si vuole aspettare un MPI_Wait MPI richiesta di utilizzo: http://www.manpagez.com/man/3/MPI_Wait/

Se si desidera attendere un certo periodo di utilizzo sonno tempo: http://www.manpagez.com/man/3/Sleep/

Se si vuole aspettare un altro processo per porre fine all'uso waitpid : http://linux.die.net/man/2/waitpid

Se si desidera attendere una variabile di condizione (multi-threaded di programmazione) di utilizzare pthread_cond_wait: http://www.opengroup.org/onlinepubs/007908775/xsh/pthread_cond_wait.html

Definire ciò che si WA aspettare.

+1

E se si desidera che i processi MPI si attengano reciprocamente, è possibile utilizzare mpi_barrier –