![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз ![]() |
Суть проста: требуется обеспечить задержку в программе, менее или более точно равную заданному количеству микросекундам..
-------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. |
|
|
![]()
Сообщение
#2
|
|
Immortal Сообщений: 1 464 Спасибо сказали: 1194 раза ![]() |
sleep не катит?
-------------------- Совсем скоро сайт МутноСофт будет, мб, обновлен.
Статья про защиту icq от взлома одобрена псехом. И вот идеи для сайтов хорошие очень. |
|
|
![]()
Сообщение
#3
|
|
![]() Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз ![]() |
Он же на ms
-------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. |
|
|
![]()
Сообщение
#4
|
|
![]() Etoslozhnostatus Сообщений: 8 592 Спасибо сказали: 16007 раз ![]() |
Может тебе ещё задержку в пикосекундах?
-------------------- - Да ну!?
- Horn of the Argali гну! |
|
|
![]()
Сообщение
#5
|
|
Immortal Сообщений: 1 464 Спасибо сказали: 1194 раза ![]() |
Он же на ms да. я подумал, что ты немного перепутал. а какой смысл в столь кортких задержках? но если ты микросекундный маньяк, то юзай юзай связку rdtsc и, например, слипа. при помощи rdtsc замеряешь кол-во выполненных тактов процессора за 1 секунду. потом делишь это дело на миллион, а дальше, думаю, ты понел. -------------------- Совсем скоро сайт МутноСофт будет, мб, обновлен.
Статья про защиту icq от взлома одобрена псехом. И вот идеи для сайтов хорошие очень. |
|
|
![]()
Сообщение
#6
|
|
![]() Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз ![]() |
Есть поток, в котором постоянно вызывается rdtsc и проверяется условие, не достиг ли счетчик определенного значения.
Имеет ли смысл каждый раз после такого сравнения вызывать Sleep(0)? Как еще можно сделать, чтобы поток не отжирал много процессорного времени? -------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. |
|
|
![]()
Сообщение
#7
|
|
![]() Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз ![]() |
Ок, потестил, увидел, что Sleep(0) может занимать до 1m циклов времени, в то время как Sleep(1000) около 1g. Неудачная идея.
(зачем только спрашивал) -------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. |
|
|
![]()
Сообщение
#8
|
|
![]() Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз ![]() |
Нашел решение: функция SwitchToThread(). Я сначала подумал, что она какое-то значение принимает (а она возвращает, лол).
-------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. |
|
|
![]()
Сообщение
#9
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
решение еще проще, функция clock
Код clock_t T=clock(); while((clock()-T)<10000);//ждем 10 миллисекунд конечно время вызова функции сколько то занимает, поэтому точно в любом случае не подождешь, но зато есть куда рыть ![]() -------------------- |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 5 September 2025 - 04:28 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|