![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Z_P |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 4.10.2003 Где: это я? Репутация: нет Всего: нет |
Здоров Винградовцы!
кто подскажет, какая есть альтернатива sleep(ms)? Потому что наверно сами знаете как использовать sleep() Хочу сделать типа того: begin действие ... подождать определенное время ... следующее действие ... end; кто подскажет? таймер, не предлогать через него долго реализовывать... |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Накопал самое короткое:
|
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Z_P Я совсем недавно писал про хорошую процедуру задержки, она включает в себя sleep, но и кое-что ещё.
|
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
||||
|
||||
| Z_P |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 4.10.2003 Где: это я? Репутация: нет Всего: нет |
Pakshin A. S. & December
большое спасибо!!!! буду пробывать ваши варианты! |
|||
|
||||
| Monty |
|
||||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
December твой код:
Если я задам одну милисекунду, то получится не одна, а две т.к. там стоят два Слепа по одной милисекунде и получается минимум 2 милисекунды он может ждать ........... или только четное число А если так?
Вроде бы все хорошо -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
||||
|
|||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Monty А зачем вообще здесь использовать Sleep? Я сомневаюсь что цикл будет так нагружать систему, что придется отдавать кванты времени другим процессам.
Это сообщение отредактировал(а) <Spawn> - 18.10.2003, 06:34 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Dmitry V.Abramov |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.9.2003 Где: Saint-Petersburg Репутация: 5 Всего: 4 |
Monty Лучше оставить оба sleep. Рассуждения Vit об их значимости есть в той же ветке откуда взят пример. Но я бы их оба сделал sleep(0).
С другой стороны - ведь если ты зашел в Wait, то ты зашел подождать ведь? <Spawn> Лучше отдать. Ведь все-равно ждем. А так - фоновые процессы будут работать "ровнее". Ведь автор писал этот код не теоретически (как мы сейчас обсуждаем --------------------
/DVA |
|||
|
||||
| Z_P |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 4.10.2003 Где: это я? Репутация: нет Всего: нет |
Спасибо всем!
У меня получилось, и на первый взгляд вроде и не глючит. И как у просто sleep(), не подтормаживает всю форму! Мне собственно важно было не то чтобы освобождал системные ресурсы, даные программе а чтобы просто подождал немного... Monty Использую твой подредактированный вариант. |
|||
|
||||
| Monty |
|
|||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
Dmitry V.Abramov думаю для более точного вайта лучше то что я привел
-------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
|||
|
||||
| Dmitry V.Abramov |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.9.2003 Где: Saint-Petersburg Репутация: 5 Всего: 4 |
Monty 10ms - магическое число для ProcessMessages. Если очередь пуста, то будет чуть меньше, если нет то >= 10ms.
А вот разлица между sleep(0) и sleep(1) - очень странная. Даже не знаю что предположить... Пришлось спросить папу Борланда - что он думает о sleep в Delay? Папа ответил, что о sleep вообще не думает:
Прям хоть садись и самостоятельно все проверяй... Кстати, давайте обозначим, под какими ОС плохо ведет себя delay(0)? Мои советы основывались на очень давних экспериментах под win98se. --------------------
/DVA |
|||
|
||||
| Monty |
|
||||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
Я не понимаю кто кого не понял, но я уж точно
Я имел ввиду что если так
то все отлично и точно
Загрузка процессора 100% ------------- А Delay ни разу в жизни не использовал ...... шас нет времени на эксперементы -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
||||
|
|||||
| Dmitry V.Abramov |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.9.2003 Где: Saint-Petersburg Репутация: 5 Всего: 4 |
Monty Все всех поняли, раз все работает. Вот только я перестал понимать принцип работы sleep(0). По теории он должен вести себя лучше чем sleep(1)... Пример, приведенный мною, взят из FAQ сайта borland.com. Это один-в-один используемый тобой алгоритм, за исключением применения sleep вообще.
Кстати, а попробуй убрать у себя и оставшийся sleep(1). Как изменится работа Delay и загрузка CPU ? --------------------
/DVA |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
2000 ведёт себя так же. |
|||
|
||||
| Monty |
|
|||
![]() Advanced Lamer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3511 Регистрация: 3.4.2003 Где: Гваделупа Репутация: нет Всего: 27 |
Мой Delphi7 вообще не знает что такое Delay
Если убрать вообще Sleep, то загрузка остается таже ...... У меня ХР с включенными темами Это сообщение отредактировал(а) Monty - 20.10.2003, 22:00 -------------------- ... О, вещая моя печаль, О, тихая моя свобода И неживого небосвода Всегда смеющийся хрусталь! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |