Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » » Программирование
Философия, технологии, алгоритмы!

Закрытая тема
 
Опции темы
Старый 28.09.2011, 11:19   #1   
Registered User
 
Аватар для Спартак21
 
Сообщений: 402
Регистрация: 14.11.2007
Возраст: 37

Спартак21 вне форума Не в сети
Программная реализация задержки времени

Господа! Подскажите, как мне реализовать временную задержку без цикла, и не использую команду Sleep(int)?
 
Старый 28.09.2011, 11:37   #2   
мясоед
 
Аватар для Jaged2
 
Сообщений: 9,223
Регистрация: 20.11.2006
Возраст: 44

Jaged2 вне форума Не в сети
NOP, столько раз сколько надо, но боюсь копипастить придется очень много.
 
Старый 28.09.2011, 11:55   #3   
Форумец
 
Аватар для Spectator
 
Сообщений: 39,863
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от Спартак21 Посмотреть сообщение
Господа! Подскажите, как мне реализовать временную задержку без цикла, и не использую команду Sleep(int)?
Ну вот такая штука есть
http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx
А нахрена тебе это нужно, ты конечную цель опиши.
 
Старый 28.09.2011, 12:20   #4   
Форумец
 
Аватар для Shtirliz
 
Сообщений: 248
Регистрация: 17.01.2005

Shtirliz вне форума Не в сети
Предчувствую какой-то адский костыль...
 
Старый 28.09.2011, 12:23   #5   
Registered User
 
Аватар для Спартак21
 
Сообщений: 402
Регистрация: 14.11.2007
Возраст: 37

Спартак21 вне форума Не в сети
Надо реализовать светофор...
 
Старый 28.09.2011, 12:25   #6   
Registered User
 
Сообщений: 1,114
Регистрация: 23.06.2007
Возраст: 56

Hopkroft вне форума Не в сети
Цитата:
Сообщение от Shtirliz Посмотреть сообщение
Предчувствую какой-то адский костыль...
Никакого костыля.
Просто Спартак придумывает адские вопросы для тестирования на собеседовании
Ему же нужны самые самые
 
Старый 28.09.2011, 12:28   #7   
Registered User
 
Аватар для Спартак21
 
Сообщений: 402
Регистрация: 14.11.2007
Возраст: 37

Спартак21 вне форума Не в сети
Оригинально! ВОспользуюсь!
Нет, мне это нужно для написания программы)))
 
Старый 28.09.2011, 13:01   #8   
Форумец
 
Аватар для Spectator
 
Сообщений: 39,863
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от Спартак21 Посмотреть сообщение
Надо реализовать светофор...
А может всё же лучше таймер поставить и время проверять в нем?
 
Старый 28.09.2011, 14:45   #9   
aka rvs
 
Аватар для bdot
 
Сообщений: 182
Регистрация: 13.11.2007
Возраст: 36

bdot вне форума Не в сети
в POSIX можно делать не sleep а select():

int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *timeout);
 
Старый 10.10.2011, 15:33   #10   
Форумец
 
Сообщений: 157
Регистрация: 16.12.2007

Andrew_80 вне форума Не в сети
или в WaitForSingleObject засунуть нужное кол-во миллисекунд. но извратно это..
 
Старый 10.10.2011, 19:41   #11   
Мы вместе
 
Аватар для DWanek
 
Сообщений: 917
Регистрация: 15.04.2005
Возраст: 40

DWanek вне форума Не в сети
Как вариант через задницу: можно запустить работать трид, а мейн трид заставить его ждать.
 
Старый 10.10.2011, 20:12   #12   
Форумец
 
Аватар для Spectator
 
Сообщений: 39,863
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
все предлагаемые способы, кроме моего, имеют один серьезный недостаток - ошибка будет накапливаться.
а если совсем загоняться, то есть вот такая штука - http://msdn.microsoft.com/en-us/libr...04(VS.85).aspx
Правда, у моего способа есть и недостаток - несколько будет грузиться процессор (если частота проверки будет высокой, возможно даже заметно).

Цитата:
Сообщение от Jaged2 Посмотреть сообщение
NOP, столько раз сколько надо, но боюсь копипастить придется очень много.
И каким образом ты с нопами добъешься ожидания конкретного промежутка времени? Задержка идет в тактах, тактовая частота у всех процессоров разная. У этой команды совсем другие задачи - синхронизация с матсопроцессором, к примеру.
 
Старый 12.10.2011, 08:25   #13   
Registered User
 
Сообщений: 1,114
Регистрация: 23.06.2007
Возраст: 56

Hopkroft вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Правда, у моего способа есть и недостаток - несколько будет грузиться процессор (если частота проверки будет высокой, возможно даже заметно).
Метод норм. я бы тоже через него делал. А то что процессор будет грузится сильно при частой проверке это ещё спорно.
Смотря что заложишь в обработчик WM_TIMER.
 
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind