Wykonanie określonych czynności po upływie czasu
Ostatnio zmodyfikowano 2013-02-03 18:49
dragranis Temat założony przez niniejszego użytkownika |
Wykonanie określonych czynności po upływie czasu » 2013-02-02 13:33:43 Witam.Problem może i dość banalny ale próbowałem już różnych sposobów i program nie działa tak jakbym chciał. Otóż w pewnym momencie zapisuję w programie x=getTickCount(); i jak wiecie od tego momentu jest liczony czas.Problem w tym że nie umiem do tego napisać instrukcji warunkowej,dzięki której np. po 10 sekundach coś by się stało.Ktoś z was wie jak zrobić poprawny zapis w instrukcji warunkowej by zrobić to co chcę?z góry dzięki za pomoc |
|
kubawal |
» 2013-02-02 14:49:38 #include <time.h>
void wait( unsigned int sec ) { int pocz = clock(); while( pocz <( clock() / CLOCKS_PER_SEC ) + sec ) ) continue; }
|
|
m4tx |
» 2013-02-02 16:34:34 while( pocz <( clock() / CLOCKS_PER_SEC ) + sec ) ) continue; |
Ten kod będzie używał 100% procesora. |
|
Mrovqa |
» 2013-02-02 17:20:13 @m4tx będzie zużywał 100%, ale nie procesora tylko jednego rdzenia logicznego :)
@down napisałeś procesor (czyli ogólnie - CPU), nie pisałeś, że z punktu widzenia OS. Założyłbym się, że normalny programista, który nie wie co robi ten kod, zrozumiałby Twą wypowiedź, iż zamuli procesor (jako cała jednostkę).
/edit: Ja wiem co miałeś na myśli i inni rozumiejący ten kod pewnie też. Zwróciłem uwagę głównie ze względu na początkujących i potomnych, którzy będą początkujący :) |
|
m4tx |
» 2013-02-02 17:33:37 @Mrovqa, a czymże jest z punktu widzenia systemu operacyjnego rdzeń logiczny jak nie procesorem? :)
EDIT: Ok, wybacz, że nie wyraziłem się dość jasno - po prostu myślałem, że jest to oczywiste. Chodziło, rzecz jasna, o 1 rdzeń logiczny. |
|
czosnek17 |
» 2013-02-03 18:49:07 Ja bym użył funkcji Sleep(). Trzeba dołączyć windows.h |
|
« 1 » |