Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизКак сделать sleep меньше одной милисекунды? Найти похожие ветки
← →
ГудБой (2004-05-21 16:10) [0]сабж
← →
ega23 © (2004-05-21 16:17) [1]for i:=0 to N do; N - подбирай сам.
← →
ega23 © (2004-05-21 16:17) [2]for i:=0 to N do; N - подбирай сам.
← →
ГудБой (2004-05-21 16:37) [3]это на разных компах будет работать по разному
← →
ГудБой (2004-05-21 16:38) [4]И загрузка проца будет 100%
← →
Jeer © (2004-05-21 16:39) [5]Определяй частоту и вперед.
Или тебе с точность до оборота электрона надо ?
← →
ega23 © (2004-05-21 16:40) [6]И загрузка проца будет 100%
А sleep как по-твоему работает?
← →
ГудБой (2004-05-21 16:43) [7]sleep(1) не дает загрузку в 100%
← →
Digitman © (2004-05-21 16:44) [8]
> ГудБой (21.05.04 16:38) [4]
> И загрузка проца будет 100%
"проц" всегда загружен на 100%
← →
ega23 © (2004-05-21 16:44) [9]А for i:=0 to 1000 do; даёт?
← →
Sandman25+1 (2004-05-21 16:48) [10]Автору
Зачем?
← →
ega23 © (2004-05-21 16:50) [11]Sandman25+1 (21.05.04 16:48) [10]
Это уже другой вопрос... :о)
← →
tesseract © (2004-05-21 16:53) [12]А зачем?
Точное время посчитать? тогда через режим ядра считай циклы процессора - встроенный таймер винды обеспечивает точность 2-3 мс, а то и больше.
← →
Sandman25+1 (2004-05-21 16:53) [13][11] ega23 © (21.05.04 16:50)
Мне кажется, автор пытается решить какую-то проблему синхронизации таким образом. В таком случае избран неверный способ.
← →
DeMoN_Astra (2004-05-21 16:56) [14]Блин, зачем отвечать, если в вопросе ничего не понимаешь??
Я этим вопросом занимался долго тоже, при управлении внешними устройствами нужны были меньшие чем 1мс задержки - такие задержки давали большие паузы при управлении. Пробовал и через определение частоты и через драйвера (winDrv).. после всех мучений придумали синхронизацию не по времени, а по стробу готовности от внешнего устройства, к-рое тоже пришлось немного доработать. Вот так-то :)
p.s. и загрузка проца не 100%, просто на время Н сек. операционная система замораживает выполнения процесса.. причем тут вообще проц?? как можно говорить о загрузке проца программой, работающей на нем не в монопольном режиме, а через ОС? тем более ОС не реального времени %( бред..
← →
TUser (2004-05-21 18:43) [15]
> Автору
>
> Зачем?
Например, для переключения между потоками можно использовать sleep(0), 0 < 1;
← →
ГудБой (2004-05-22 15:16) [16]:) все на много прощще.
Я пишу индикатор, для компов в компьютерном клубе, который показывает сколько осталось времени. Делаю я это, спомощью маленького окошечка, которое выводеться в потоке в цикле:
SetWindowPos(FI.Handle,HWND_TOPMOST,0,0,0,0,SWP_SHOWWINDOW or SWP_NOREPOSITION);
FI.Invalidate;
Так вот, допустим в Кваке, Варкраaте,... - оно видно как статическое окошко которое висит в уголку и показывает время.
А допустим в NFS 5, Контре, Казаках, ... - оно блымает и очень сильно раздражает :(
Когда я делал такой индикатор под линукс там есть sleep который позволяет задавать промежутки времене в плоть до 100 нс.
За тонкой задержки окошечко выводилось чащще и никакого мерцания небыло. Вообщем было все ОК.
А тут сплошной Cancel и Abort %(((
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c