Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

TThread и повторный вызов   Найти похожие ветки 

 
Alec_C   (2005-12-13 09:10) [0]

Я работаю с телнетом. Когда появляются данные, я создаю TThread, который их обрабатывает. Однако если данных много, их обработка может занимать много времени, при этом могут поступить уже новые данные до того момента, как перед этим созданный TThread обработает предыдущие полученные данные и завершится. Чтобы избежать одновременно начала работы следующей созданной нити до того момента, как закончится предыдущая, я делаю так:
в ф-ции работы нити -
// Ждем пока предыдущая нить завершиться
While TelnetForm.Tag = 10 do
    Application.ProcessMessages;
// Ставим флаг, что нить работает
TelnetForm.Tag := 10;
// Обработка данных
........
// Убираем флаг работы нити
TelnetForm.Tag := 0;
Правильно ли это?


 
MBo ©   (2005-12-13 09:15) [1]

обычно не стоит на каждую порцию данных создавать свой потоковый объект.
на мой взгляд, разумно сделать два дополнительных потока - один принимает данные и пишет их в буфер. Второй берет из буфера и обрабатывает, передавая готовые данные в основной поток (с синхронизацией) или в еще один буфер, из которого уже основной поток заберет.


 
TUser ©   (2005-12-13 10:05) [2]

Если обслуживаешь много клиентов, то для каждого отдельный поток - это понятно. А зачем тормозить работу до завершения предыдущего задания? Если каждому свой поток, то обычно они работают параллельно.

> Правильно ли это?

Нет, не правильно. Надо ждать завершения работы поток в WaitForSingleObject, или проще - прописаться в OnTerminate того потока, завершения которого мы ждем.



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

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
14-1134975102
IAmDanil
2005-12-19 09:51
2006.01.15
NET SEND


2-1135376569
Lokk
2005-12-24 01:22
2006.01.15
Работа с датами


2-1135271634
oleggar
2005-12-22 20:13
2006.01.15
queryperformance


14-1135262887
BFG9k
2005-12-22 17:48
2006.01.15
Обьясните механизм извлечения dcu файла из пакета


3-1132305106
Anny
2005-11-18 12:11
2006.01.15
Прога считывания и обработки штрих кода...