Vai al contenuto
PLC Forum


C++ E Funzione Sleep


Messaggi consigliati

Inserito:

Ciao a tutti.

DUnque, non ho mai usato il C++ (Visual studio 6 enterprise) e devo fare una piccola modifica ad un

programma 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


Inserita:

Salve smsmsms,

Dunque,

La function Sleep suspende l'essecuzione del corrente thread per un specificato

intervallo di tempo,quindi.

VOID Sleep(

DWORD dwMilliseconds // sleep time in milliseconds

);

dwMilliseconds=1; // 1 mSec.

dwMilliseconds=1000; // 1 Sec.

dwMilliseconds=60000; // 60 Sec

Quando Sleep ferma solo l'essecuzione del thread in corso, tutti gli altri thread in run

time 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(...)

{

}

}

Inserita:

Ok, grazie delle info. Infatti il mio dubbio era se

la funzione sleep funzionasse come un timer in vb oppure no.

Grazie ed a buon rendere

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...