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

время в потоке   Найти похожие ветки 

 
appendix ©   (2004-09-19 12:29) [0]

В моём приложении нужно выводить текущее время в StatusBar"е.
Хотел это дело организовать через поток.
Всё работает. Но приложение начинает страшно тормозить.
Особенно когда хочу открыть новый файл.
Когда вручную отключаю поток, торможение прекращается.

Я почему-то думал раньше, что потоки они нужны чтоб параллельно выполнять задачи.
И не тормозить основной процесс.

В чём я не прав?
Как правильно организовать вывод текущего времени с секундами?


 
VMcL ©   (2004-09-19 12:56) [1]

>>appendix ©  (19.09.04 12:29)

1. Application.OnIdle
2. TTimer

>Но приложение начинает страшно тормозить.

Поставь в цикле, который выполняется в кодовом потоке:
Sleep(1) или даже Sleep(250)


 
Defunct ©   (2004-09-19 13:48) [2]

и приоритет потока поставь tpIdle


 
Anatoly Podgoretsky ©   (2004-09-19 14:00) [3]

appendix ©   (19.09.04 12:29)  
У тебя же поток ничего делать не будет, только спать, а для этго есть таймеры.


 
appendix ©   (2004-09-20 20:03) [4]

[3] У тебя же поток ничего делать не будет, только спать, а для этго есть таймеры.

А я пробовал таймеры. Но у меня есть ещё один поток в котором я работаю с com портом. И были проблемы с приёмом. Пришлось отказаться от посекундного вывода времени. Стал выводить поминутно. Но оказалось что запуск минутного таймера надо засинхронизировать. И пришлось лепить таймер синхронизатор.


 
Defunct ©   (2004-09-20 20:11) [5]

> Пришлось отказаться от посекундного вывода времени.

Компьютер - 386SX16?

Поставь потоку, который обрабатывает COM приоритет tpHigher, а потоку, который отвечает за вывод времени - tpIdle.


 
appendix ©   (2004-09-21 19:16) [6]

< Поставь потоку, который обрабатывает COM приоритет tpHigher, а потоку, который отвечает за вывод времени - tpIdle. >

В каком месте это ставится? а процессор celeron 1700.


 
Defunct ©   (2004-09-21 19:28) [7]

Я, обычно, приоритет устанавливаю в перекрытом конструкторе потока. Priority := tpIdle, но можно и просто Thread.Priority := tpIdle.



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

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



Память: 0.46 MB
Время: 0.021 c
14-1095452403
Chess
2004-09-18 00:20
2004.10.10
Unicode to RichEdit


3-1095240506
Marina
2004-09-15 13:28
2004.10.10
Проблемы по DBF


14-1095879895
lipskiy
2004-09-22 23:04
2004.10.10
Математика смешивания цветов?


8-1090222118
Ricko
2004-07-19 11:28
2004.10.10
Автоматизация вещания радиостаниции


14-1095554579
Думкин
2004-09-19 04:42
2004.10.10
С днем рождения! 19 сентября




   Наверх