![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
потоки
Аврам © (2008-04-15 21:43:00)на форме валяется грид, заполненные данными.
строчек ~20-25 не больше.
по началу написал процедуру которая брала по очереди данные из каждой строчки и анализировала их. потом пришло в голову сделать все это дело через потоки, т.е. загружать например 10 потоков обрабатывать данные, потом по мере анализ освободившиеся потоки начинали обрабатывать следующие данные из грида, пока не проанализируются все.
можно ли так делать? если нет то почему? и как делать грамотней в этом случае?
решение о использовании потоков появилось когда попробовал запустить потоки по сразу всем данным типо того:
for i:=0 to grid.rowount -1 do
begin
gg := txz.create;
try
with gg do
begin
Inc(FThreadRefCount);
Resume;
end;
except on EConvertError do
begin
gg.Free;
ShowMessage('That is not a valid number!');
end;
end;
end;
end;
т.к. некоторые значения (данные) в гриде очень малы и высчитываются быстро, а быстрое появление результатов для меня важно.
Жду ответов и советов, спасибо!
Reindeer Moss Eater (2008-04-15 22:13:00) [141]как делать правильно?
правильно грохнуть все разом.
Palladin (2008-04-15 22:13:00) [142]:)) я просто непонимаю, как можно расчитывать на грамотный совет, по ложным данным
уточняй сразу, где там еще неверные данные?
Palladin (2008-04-15 22:10:00) [143]:)) я просто непонимаю, как можно расчитывать на грамотный совет, по ложным данным
уточняй сразу, где там еще неверные данные?
Аврам (2008-04-15 22:09:00) [144]у меня такой вопрос: я сделал так, поток берет первую строчку и затем удаляет ее, следующий также и т.д.
правильно ли это?как делать правильно?
Аврам (2008-04-15 22:05:00) [145]20-25 это неверные данные. строчек много больше.
Palladin (2008-04-15 22:03:00) [146]и из-за 20-25 строчек ты решил заморочится на распараллеливании обработки?
это из пушки по воробьям...