smsmsms Inserito: 12 marzo 2005 Segnala Inserito: 12 marzo 2005 Ciao a tutti.DUnque, non ho mai usato il C++ (Visual studio 6 enterprise) e devo fare una piccola modifica ad unprogramma già esistente. Questo il codice:void test::gotest(){ double a, b, c; while (run) { // codice vario ... a = b + c; Sleep(a); try { MyFunction(); } catch(...) { } }}Ecco il dubbio :siccome lo Sleep crea una attesama questa attesa è variabile (data dal calcolo di b+c) come devo interpretare il codice? Es.Prima esecuzione b=10000 c=50000 --> a=60000 quindi ho uno sleep pari ad un minuto. a questo punto si "interrompe" la scansione del codice fino al termine dello sleep oppure la scansione successiva andrò a reimpostare i valori b, c e quindi a (cioè il tempo dello sleep) PRIMA che lo sleep precedente sia terminato???Spero di essermi spiegato.Grazie per qualsiasi dritta
Savino Inserita: 12 marzo 2005 Segnala Inserita: 12 marzo 2005 Salve smsmsms,Dunque,La function Sleep suspende l'essecuzione del corrente thread per un specificatointervallo di tempo,quindi. VOID Sleep( DWORD dwMilliseconds // sleep time in milliseconds); dwMilliseconds=1; // 1 mSec.dwMilliseconds=1000; // 1 Sec.dwMilliseconds=60000; // 60 SecQuando Sleep ferma solo l'essecuzione del thread in corso, tutti gli altri thread in runtime con il SO continuano a girare nel ciclo del main system nel fore o background.Durante lo sleep, nessun statement apparteniente al thread chiamante viene elaborato.Allora,while (run) { // codice vario ... a = b + c; Sleep(a); try { MyFunction(); } catch(...) { } }
smsmsms Inserita: 14 marzo 2005 Autore Segnala Inserita: 14 marzo 2005 Ok, grazie delle info. Infatti il mio dubbio era sela funzione sleep funzionasse come un timer in vb oppure no.Grazie ed a buon rendere
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora