Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

потоки


tim ©   (2008-03-26 02:48:00) 

Удалено модератором
Примечание: восстановление закрытой ветки


Palladin   (2008-03-26 14:36:00) [1]

ты статью читал на которую я дал тебе ссылку? ты понял для чего нужен synchronize? иди читай...


tim   (2008-03-26 14:33:00) [2]

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


MBo   (2008-03-26 14:25:00) [3]

>А так это довольно долго все будет высчитываться...
Многопоточность не увеличивает производительность компьютера.


tim   (2008-03-26 14:15:00) [4]


>  Да и неясно, почему для такой работы выбран отдельный поток

В listbox поступают данные через разные промежутки времени и есть с десятток процедур которые как только появляются новые данные должны их обрабатывать каждая по своему. А так это довольно долго все будет высчитываться...


MBo   (2008-03-26 05:11:00) [5]

В коде нет никакой синхронизации обращения к VCL-контролам, а так нельзя. Да и неясно, почему для такой работы выбран отдельный поток


Германн   (2008-03-26 03:42:00) [6]


>  дальше несколько сот строк кода парсинга

Да и этого уже достаточно. Книжки читай.


tim   (2008-03-26 03:14:00) [7]

get_links не из той кнопки взял,
procedure TForm1.Button8Click(Sender: TObject);
var
pot: TPotok;
begin
pot := TPotok.Create;
end;

procedure TPotok.Execute;
var
 j, p, w, g, a, n, h, l, b, x: integer;
 s, s_sh, new_s: string;
 i, q: Integer;
 pos_2: string;
 pos_1: string;
 list: wideString;
 xz, gg: boolean;
 col_cd, cx: Integer;
 shablon: Boolean;
 shablon_: boolean;
 maximum: boolean;
 list_shablon: TStringList;
begin
 list_shablon := TStringList.Create;
//Clear
 for i := 0 to form1.StringGrid1.RowCount - 1 do
 begin
   form1.StringGrid1.Cells[0, i] := '';
   form1.StringGrid1.Cells[1, i] := '';
 end;
 for i := 1 to form1.StringGrid2.RowCount - 1 do
 begin
   form1.StringGrid2.Cells[1, i] := 'none';
   form1.StringGrid2.Cells[2, i] := 'none';
 end;
 form1.StringGrid1.RowCount := 1;
 list_shablon.Clear;
 form1.ListBox1.Clear;
 Form1.ListBox2.Clear;
 shablon := form1.CheckBox2.Checked;
 shablon_ := false;
 maximum := Form1.CheckBox4.Checked;
 if shablon then
   form1.StringGrid2.Cells[1, 4] := 'YES'
 else
   form1.StringGrid2.Cells[1, 4] := 'NO';
 if maximum then
   form1.StringGrid2.Cells[1, 5] := 'YES'
 else
   form1.StringGrid2.Cells[1, 5] := 'NO';  
 Form1.StringGrid2.Cells[2,6] := 'Âêë.';
 Form1.StringGrid2.Cells[2,7] := 'Âêë.';
for i:=0 to form1.listbox1.count - 1 do
begin
 text := form1.listbox1.items.strings[i];
 дальше несколько сот строк кода парсинга  
end;

end;


Джо   (2008-03-26 02:55:00) [8]

В приведенном коде нет никаких окон. Более того, в нем нет даже объявления класса TGet_links.
Теперь понятно, почему прикрыли тему.


Наверх

Титульная страница Поиск, карта сайта Написать письмо