Moniajo

säikeet

Miten säikeitä käytetään Pascal:ssa. Mitä asioita pitää ottaa huomioon.

1

247

    Vastaukset 1

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Kukame

      // esitellään jossain meidän oma säieluokka
      Type
      TMyThread = class(TThread)
      public
      data: String;
      procedure Execute: Override;
      end;

      procedure TMyThread.Execute;
      var
      idx: Integer;
      begin
      // tämä funktio ajetaan omassa säikeessä. Täältä ei saa päivittää
      // lomakkeen VCL komponentteja suoraan koska saattaa tulla
      // konflikti MainUI säikeen kanssa.
      for idx:=0 to to 10 do begin
      sleep(1000); // esimerkissä nukutaan jonkin aikaa
      end;
      end;

      - - - - -
      // käytetään säiettä vaikka päälomakkeella

      procedure TFrmMain.ThreadTerminated(Sender: TObject);
      var
      data: String;
      begin
      // säie lopettanut elämänsä, luetaan siitä lopputulos tai
      // mitä ohjelma haluaakin tehdä. Tätä kutsutaan MainUI
      // säikeessä joten on turvallista päivittää vaikka
      // formien VCL komponenttien tilatietoja.
      data := (Sender as TMyThread).data;
      end;

      procedure TFrmMain.btnStartThread(Sender: TObject);
      var
      thr1: TMyThread;
      begin
      // luo instanssi mutta älä käynnistä(suspended=true) automaattisesti.
      // instanssin konstruktoria (free) kutsutaan automaattisesti kun
      // säikeen elinkaari päättyy. Ennen destruktoria kutsutaan ThreadTerminated
      // funktiota jossa voidaan tehdä lopputemput.
      thr1 := TMyThread.Create(true);
      thr1.freeOnTerminate := true;
      thr1.onTerminate := ThreadTerminated;
      thr1.Resume; // käynnistää säikeen
      // eli meidän ei tarvitse eikä saa kutsua täällä thr1.Free funktiota koska
      // järjestelmä poistaa sen automaattisesti. Jätetään se pyörimään taustalle.
      end;

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ny se loppuu ( Kuhmo)

      Yhtiö on myyty. Notta yyteet meleko äkkiä, notta. Pelastautukoon ken voi. Notta se on tuulista pian.
      Kuhmo
      68
      2198
    2. Parikymppinen hakkasi nelikymppisen kriittiseen tilaan

      Ja ihminen jäi junan alle lautiosaaressa...paljon on taas sattunut ja tapahtunut. Ketähän nämä uhrit mahtaa olla 🤔 htt
      Kemi
      35
      1764
    3. Harmi että välimme

      Menivät niin solmuun.
      Ikävä
      100
      1151
    4. Hei sinä rakas mies.

      Milloinkaan kohdataan? Toivottavasti pian....❤️
      Ikävä
      46
      909
    5. Ajatuksia

      Mitä ajatuksia hän herättää tänään?
      Ikävä
      87
      803
    6. Kaivattusi tärkein ulkoinen tuntomerkki

      Onko jokin muu kuin yleinen kuten kaunis, laiha. hyväkroppainen jne.
      Ikävä
      26
      797
    7. Mille kirjaimelle

      toivotat hyvää yötä , kuka on mielessäsi kun menet nukkumaan?
      Ikävä
      29
      670
    8. Katse

      Miltä se tuntuu, kun hän katsoo sinua?
      Ikävä
      41
      665
    9. Äimän käki

      Olen vähää vaille viisikymppinen mies, ja olen elellyt ilman parisuhdetta parisen vuotta. Nyt vihdoin ja viimein tuntuu,
      Sinkut
      134
      610
    10. Nainen, miten suhtautuisit

      Jos mies ehdottaisi tapaamista? Entä siihen, jos mies kertoisi tapaamisessa tunteistaan ja haluaisi seurustella?
      Ikävä
      56
      578
    Aihe