![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| WaReZMEN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Вообщем есть у меня код:
Все это делается в кансоле работает все отлично кроме того что процессор загружается на 99% что не очень хорошо... Что хочется: организовать некий процесс каторый ждал бы когда именится условие P<>'' . Выполнил определеное деиствие и равершил свою работу... Только как это организовать не ясно... Есть у каго какие идеи? |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
По теме: зачем что-то изобретать, когда оное уже изобретено.
Это сообщение отредактировал(а) Данкинг - 23.7.2008, 01:10 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| WaReZMEN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Данкинг, Прошу прощение за ошибки русский это моя слабость.... по поводу Goto...label Еще в школе учили что чем больше goto тем ниже квалификация программиста... К томуже эта канструкция практически не чем не отлечается от Repeat ... Until P<>''. Процессор попрежнему весь загружен... Вообще нужно сделать какоито системный процес и делать через него но как я не вкурсе...
|
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
WaReZMEN, можно использовать например ожидание в цикле, миллисекунд этак 200-400. Можно, я думаю использовать дополнительный поток...
|
|||
|
||||
| WaReZMEN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
THandle, с задержкои све ок спасибо большое!!!! Но про паток тоже интересно если можно раскажи.
|
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
||||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Вопрос часто обсуждаемый и весьма и весьма спорный... -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Проверять всё равно придётся.
Но тут поможет простое отпускание треда. Дай в цикле строчку
Добавлено через 3 минуты и 14 секунд
Да и никакого отношения к решению вопроса не имеет. Ну абсолютно никакого. Просто замена нормально конструкции на идиотскую. Код ухудшается, а результата по прежнему никакого. |
||||
|
|||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
Snowy, а почему sleep именно 32? Методом проб и ошибок подобранно? Почему не Sleep(0)? разницы то почти не будет, а может и совсем не будет...
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
32 - стандартный тайминг.
А ноль не во всех версиях винды срабатывает... В теории должен. На практике вот... |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Ну да, как же, а ещё каждую строчку кода следует непременно комментировать, а процедурам давать имена вроде "my_procedure_for_timer1". Я привёл другой вариант решения данной задачи. Нагрузку на процессор при этом не проверял. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| WaReZMEN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
когда THandle сказал попробовать задержку я именно sleep и поставил
|
|||
|
||||
| greenpc |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.1.2007 Репутация: нет Всего: нет |
Snowy,
вроде Application.ProcessMessages тоже не отменяли |
|||
|
||||
| sai_NT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 8.8.2007 Репутация: 1 Всего: 3 |
Не отменяли, но нагрузки на проц это не уменьшит, просто окно сможет обрабатывать посылаемые ей сообщения =) |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Ну Sleep здесь нужен не для задержки, а для переключения треда.
Задержка здесь - побочный эффект. |
|||
|
||||
![]()
|
| Правила форума "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. |