Вниз
Скачать: CL | DM;

оптимизация использования Ttimer   Найти похожие ветки 

 
ЗфдЗфднср   (2007-11-08 16:23) [0]

Здравствйте господа.
У меня следуюшая проблемка.
Есть прога, в которой каждые 4 минуты (использую Ttimer) происходит обработка некоторых данных. Трудность в том, что кол-во данных, подлежащих обработке всё время растёт. Соответственно и время тоже. На данный момент обработка данных занимает порядка 8 секунд. Неудобство в том, что в течении этого времени "блокируется" выполнение всех остальных действий программы. Что можно придумать, чтобы во время обработки данных можно было производить остальные действия с программой?


 
DrPass ©   (2007-11-08 16:25) [1]

Начать читать про многопоточность


 
Anatoly Podgoretsky ©   (2007-11-08 16:33) [2]

> ЗфдЗфднср  (08.11.2007 16:23:00)  [0]

Обрабатывать сообщение или переходить на потоки, если одновременно должно выполняться несколько разных задач.


 
Ega23 ©   (2007-11-08 16:55) [3]

Способ 1:
Внутри цикла обработки "некоторых данных" вставиь Application.ProcessMessages
Хорошо: дёшево и сердито
Плохо: Можно нарваться на нефиговые проблемы.

Способ 2:
Обрабатывать данные в отдельном потоке.
Хорошо: идеологически более правильно
Плохо: судя по твоему уровню, для тебя будет сложная реализация.


 
ЗфдЗфднср   (2007-11-08 17:40) [4]

DrPass, Anatoly Podgoretsky, Ega23 спасибо за советы.
Ega23, я не уверен, что по одному посту можно судить об "уровне" человека.
В любом случае большое спасибо. Опробую оба способа.


 
Ega23 ©   (2007-11-08 18:01) [5]


> Ega23, я не уверен, что по одному посту можно судить об
> "уровне" человека.


Ну просто если ты не знаешь что делать в ситуации "в течении этого времени "блокируется" выполнение всех остальных действий программы" - то реализация отдельного потока и все аспекты его реализации для тебя в данный момент вызовут массу других вопросов.

Я не имел ввиду "уровень чайника". Может ты, например, офигенный специалист по Oracle. Просто вот конкретно в этом вопросе - твой уровент пока слабоват.
Что я и сказал в своём посте.
Короче, это не наезд.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
3-1184178500
olevacho_
2007-07-11 22:28
2007.12.02
подключение к базе через FB-embedded


15-1194098631
Vendict
2007-11-03 17:03
2007.12.02
h -> pas


15-1193945817
Evanescence
2007-11-01 22:36
2007.12.02
DHCP и прямое подключение компьютеров


2-1194717138
Loser
2007-11-10 20:52
2007.12.02
Заполнение массива несколькими элементами


15-1193824197
Jeer
2007-10-31 12:49
2007.12.02
Утилиты, макросы




   Наверх