Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-1081516367
ultracrash
2004-04-09 17:12
2004.06.06
WebBrowser2 События NewWindow2


3-1084416711
JetMan
2004-05-13 06:51
2004.06.06
DBGridEh


6-1082520751
Горе Программист
2004-04-21 08:12
2004.06.06
Вопрос по взаимодействию по протоколу TCP/IP при помощи сокетов


1-1085621138
CyberSpy
2004-05-27 05:25
2004.06.06
ARichEdit


14-1084964113
blackweber
2004-05-19 14:55
2004.06.06
ВЕСНА. СКОРО ЛЕТО, ОТДЫХ, ПРИРОДА.....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский