![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вопрос по потокам
tim © (2008-03-25 17:51:00)Всем привет! у меня такой вопрос:
есть некоторые входные данные, которые нужно обработать. этим занимаются 10 процедур,друг от друга не зависящие.
т.е. по button.click
procedure_1;
procedure_2;
...
procedure_9;
procedure_10;
разумеется хотелось чтобы они просчитывались сразу, как я понимаю для этого сущ-ют потоки.
создаю поток прямо в проекте(мне так удобней нежели создавать отделный файл pas,хотя может я не прав в выборе).
TFunc_get_1 = class(TThread)
private
procedure Get_1;
protected
procedure execute; override;
end;
...
var
...
get1:TFunc_get_1;
...
procedure TFunc_get_1.Get_1;
begin
...
end;
procedure TFunc_get_1.execute;
begin
synchronize(Get_1);
end;
потом в button
if CheckBox9.Checked then
begin
get1 := TFunc_get_1.create(true);
get1.resume;
end;
оно работает,но я не знаю правильно ли будет создавать все выше описанно для каждого потока отдельно или может все в один запихнуть?тогда наверно нету смысла в созданнии одного потока...
Жду комментариев и ответов.
Игорь Шевченко (2008-03-25 20:28:00) [1]
> кажется твой ответ не является ответом или советом на мой
> вопрос.
Я так понимаю, что совет почитать нормальную книгу уже безнадежно опоздал. Тогда только удавить.
Сергей М. (2008-03-25 20:15:00) [2]
> tim (25.03.08 17:56) [3]
Тебе, пробегающему мимо, просто неведомо, как затрахали эти "дети" тех, кто задержался здесь чуть дольше чем ты)
tim (2008-03-25 17:56:00) [3]
> Игорь Шевченко
кажется твой ответ не является ответом или советом на мой вопрос.
tim (2008-03-25 17:56:00) [4]Palladin, спасибо!
Palladin (2008-03-25 17:54:00) [5]песец... опять оно... вот пример правильногопостроения работы потока...
http://www.delphimaster.ru/articles/panov/index.html
и прочитай про synchronize, зачем оно нужно, и почему его не нужно пихать в каждую дырку
Игорь Шевченко (2008-03-25 17:52:00) [6]
> procedure TFunc_get_1.execute;
> begin
> synchronize(Get_1);
> end;
Дети Архангельского, блин. Удавить.