Конференция "Начинающим" » вопрос по потокам
 
  • tim (25.03.08 17:51) [0]
    Всем привет! у меня такой вопрос:
    есть некоторые входные данные, которые нужно обработать. этим занимаются 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;



    оно работает,но я не знаю правильно ли будет создавать все выше описанно для каждого потока отдельно или может все в один запихнуть?тогда наверно нету смысла в созданнии одного потока...
    Жду комментариев и ответов.
  • Игорь Шевченко © (25.03.08 17:52) [1]

    > procedure TFunc_get_1.execute;
    > begin
    >  synchronize(Get_1);
    > end;


    Дети Архангельского, блин. Удавить.
  • Palladin © (25.03.08 17:54) [2]
    песец... опять оно... вот пример правильного построения работы потока...
    http://www.delphimaster.ru/articles/panov/index.html

    и прочитай про synchronize, зачем оно нужно, и почему его не нужно пихать в каждую дырку
  • tim (25.03.08 17:56) [3]

    > Игорь Шевченко


    кажется твой ответ не является ответом или советом на мой вопрос.
  • tim (25.03.08 17:56) [4]
    Palladin, спасибо!
 
Конференция "Начинающим" » вопрос по потокам
Есть новые Нет новых   [134433   +25][b:0][p:0.001]