Вниз
Скачать: 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.022 c
14-1095437436
olookin
2004-09-17 20:10
2004.10.10
коли делать нечего...


14-1095514391
cyborg
2004-09-18 17:33
2004.10.10
Прикольнуться чтоли над буржуями :)


4-1093831190
Registr
2004-08-30 05:59
2004.10.10
Получение каталога Windows в NT


14-1094669161
olookin
2004-09-08 22:46
2004.10.10
We are living in Amerika - Rammstein


1-1095613265
Chizh
2004-09-19 21:01
2004.10.10
ActionManager.Style




   Наверх