di zello » 08/11/04 15:02
solo un sistema realtime è deterministico, e puoi quindi essere in grado di capire quando e per quanto tempo sarà schedulato (cioé reso attivo) il tuo processo.
In tutti i sistemi non realtime (e windows è tra questi) non puoi sapere come ragionerà lo scheduler (cioé la parte del sistema operativo che governa quando e per quanto tempo ogni processo verrà eseguito dalla cpu). Puoi influenzare le scelte della CPU dando una certa priorità al processo, come diceva pjfry, ma nulla più (e lo scheduler potrebbe anche ignorare le tue richieste, se lo volesse).
Ci sono tuttavia primitive di programmazione che permettono di sincronizzare due processi (per esempio: se il processo A ha bisogno di dati dal processo B, può aspettare che il processo B gli segnali che i dati sono disponibili, e restare dormiente [cioé chiedere di non essere reso attivo] fino a tale momento). In windows ce n'è una caterva (eventi, mutex, semafori, e tutta la classe di funzioni WaitForXXX).
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...