Делфи. Потоки.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by shaker101, 5 Jul 2010.

  1. shaker101

    shaker101 New Member

    Joined:
    26 Nov 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Помогите советами.
    Как реализовать потоки в простейшем случае.
    Код:

    for i:=1 to N do begin
    .........
    proc01 - //процедура - которая выполняеться долго
    .....
    end;

    Как правильно реализовать многопоточность? Чтобы следующая процедура начинала работу, не ожидание окончание предедущей.
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    на WInAPI читай CreateThread. или юзай VCL класс TThread
     
  3. greki_hoy

    greki_hoy Member

    Joined:
    4 Mar 2010
    Messages:
    326
    Likes Received:
    57
    Reputations:
    41
    в простейшем случае если не требуется синхронизация то
    Code:
    for i:=1 to N do begin
    .........
        QueueUserWorkItem(proc01, data, WT_EXECUTELONGFUNCTION); 
    .....
    end;
    
     
  4. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    http://www.google.ru/search?hl=ru&safe=off&client=firefox&hs=jhh&rls=org.mozilla:ru:eek:fficial&&sa=X&ei=w5cxTKaxEILaOPze1aYC&ved=0CBQQBSgA&q=delphi+%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8&spell=1
     
  5. shaker101

    shaker101 New Member

    Joined:
    26 Nov 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    спасибо за ответы
     
  6. DrCepbIu

    DrCepbIu New Member

    Joined:
    26 Jun 2010
    Messages:
    15
    Likes Received:
    2
    Reputations:
    0
    самое простое

    Code:
    uses
    procedure my();stdcall;
    .........
    var
    h1:cardinal;
    begin
    h1:=createthread(nil,128,@my,self,0,h1);