Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
26 Mar 2011, 18:58
(Сообщение отредактировал ChASnock - 07 Jul 2012, 16:03)
Сообщение
#1
|
|
|
Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз |
Суть проста: требуется обеспечить задержку в программе, менее или более точно равную заданному количеству микросекундам..
-------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. Цитата шувыть! |
|
|
|
26 Mar 2011, 19:48
Сообщение
#2
|
|
|
Immortal Сообщений: 1 464 Спасибо сказали: 1194 раза |
sleep не катит?
-------------------- Совсем скоро сайт МутноСофт будет, мб, обновлен.
Статья про защиту icq от взлома одобрена псехом. И вот идеи для сайтов хорошие очень. |
|
|
|
27 Mar 2011, 20:26
Сообщение
#3
|
|
|
Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз |
Он же на ms
-------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. Цитата шувыть! |
|
|
|
27 Mar 2011, 21:08
Сообщение
#4
|
|
![]() Etoslozhnostatus Сообщений: 8 627 Спасибо сказали: 16081 раз |
Может тебе ещё задержку в пикосекундах?
-------------------- - Да ну!?
- Horn of the Argali гну! |
|
|
|
28 Mar 2011, 02:25
Сообщение
#5
|
|
|
Immortal Сообщений: 1 464 Спасибо сказали: 1194 раза |
Он же на ms да. я подумал, что ты немного перепутал. а какой смысл в столь кортких задержках? но если ты микросекундный маньяк, то юзай юзай связку rdtsc и, например, слипа. при помощи rdtsc замеряешь кол-во выполненных тактов процессора за 1 секунду. потом делишь это дело на миллион, а дальше, думаю, ты понел. -------------------- Совсем скоро сайт МутноСофт будет, мб, обновлен.
Статья про защиту icq от взлома одобрена псехом. И вот идеи для сайтов хорошие очень. |
|
|
|
04 Jul 2012, 16:14
(Сообщение отредактировал ChASnock - 04 Jul 2012, 16:15)
Сообщение
#6
|
|
|
Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз |
Есть поток, в котором постоянно вызывается rdtsc и проверяется условие, не достиг ли счетчик определенного значения.
Имеет ли смысл каждый раз после такого сравнения вызывать Sleep(0)? Как еще можно сделать, чтобы поток не отжирал много процессорного времени? -------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. Цитата шувыть! |
|
|
|
04 Jul 2012, 16:46
Сообщение
#7
|
|
|
Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз |
Ок, потестил, увидел, что Sleep(0) может занимать до 1m циклов времени, в то время как Sleep(1000) около 1g. Неудачная идея.
(зачем только спрашивал) -------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. Цитата шувыть! |
|
|
|
06 Jul 2012, 19:20
Сообщение
#8
|
|
|
Geoff Snock | 茶スノック Сообщений: 533 Спасибо сказали: 248 раз |
Нашел решение: функция SwitchToThread(). Я сначала подумал, что она какое-то значение принимает (а она возвращает, лол).
-------------------- гномов сопротивляются заклинанию!
Цитата Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего. Цитата шувыть! |
|
|
|
13 Jul 2012, 19:38
Сообщение
#9
|
|
|
Immortal Сообщений: 2 415 Спасибо сказали: 60 раз |
решение еще проще, функция clock
Код clock_t T=clock(); while((clock()-T)<10000);//ждем 10 миллисекунд конечно время вызова функции сколько то занимает, поэтому точно в любом случае не подождешь, но зато есть куда рыть -------------------- |
|
|
|
![]() ![]() |
| Текстовая версия | Сейчас: 28 October 2025 - 00:18 |
|
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |
|