Titolo: Uso di Delay Process o di Pause Process
Categoria: Comandi |
|
Ultimo Aggiornamento: 13/12/04 |
I comandi Delay Process e Pause Process fanno essenzialmente la stessa cosa: interrompono l'esecuzione del processo indicato. La differenza fondamentale sta nel fatto che:
- DELAY PROCESS ferma l'esecuzione del processo per un certo lasso di tempo, dopo il quale il processo riprende automaticamente;
- PAUSE PROCESS ferma l'esecuzione del processo fino a che non viene eseguito sullo stesso processo un comando RESUME PROCESS.
Una situazione tipica si ha ad esempio quando un metodo lancia un nuovo processo e deve attendere il completamento dell'esecuzione di quest'ultimo per poter continuare. L'algoritmo per il metodo chiamante sarebbe:
$id:=New process
While (Process state($id)>=0)
DELAY PROCESS (Current process; tempo_di_pausa_che_penso_ragionevole)
End while In questo caso l'attesa e la ripresa sono gestite dal processo chiamante. Il vantaggio è che il processo chiamato non ha interazione alcuna col processo chiamante. Lo svantaggio è che il ciclo While potrebbe sprecare troppo tempo macchina (se il tempo di attesa è troppo corto) o fare restare il processo inattivo inutilmente (se il tempo di attesa è alto). Vantaggi e svantaggi si invertono se l'algoritmo è:
$id:=New process
PAUSE PROCESS (Current process)
Il processo resta fermo in attesa che il processo chiamato non lo svegli con un RESUME PROCESS.
Inviato da: PierPaolo Sichera |
|
Visite: 15724 |
Se accedi con utente e password, puoi aggiungere dei commenti.