Miten säikeitä käytetään Pascal:ssa. Mitä asioita pitää ottaa huomioon.
Vastaukset 1
- 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
Riikka Purra on mukana Suomen huutokauppakeisari -sarjassa
Suomen huutokauppakeisari on tavallisten suomalaisten ohjelma. Sarjan suosiosta kertoo se, että nyt alkaa jo 19. kausi t1251294Kuuleppas
ensimmäiset naissuhteet toimii miehelle eräänlaisena oppikouluna, mutta hän ei välttämättä itse ymmärrä oppineensa mitää254978Paljonko on etäisyytesi kiinnostavaan naiseen km?
Kaipailen tärkeää miestä ja pohdin hänen ajatuksiaan... ❤️90977On meillä harvinaisen törkeä valtuuston puheenjohtaja
Ja tyhmä! Kannattaisi googlettaa "julkisuuslaki" ja nojata siihen vasta sitten. Samalla voisi googlettaa muiden kuntien75787- 54764
Olet mieleni päällä edelleen, J
En voi sille mitään. Ja olen yrittänyt voida, monen monta kertaa. Miten jäinkin näin kiinni sinuun... 😞35690- 66677
- 46650
- 43601
Mulla ei ole Suomessa enää mitään
4 vuotta joutuu asumaan henkisessä vankilassa. Sitten voi muuttaa takaisin ulkomaille.164590Mikko Leppilampi loi TTK:ssa ankaran tavan - Jatkaako Veronica Verho haastavaa perinnettä?
Suorien lähetysten juontaminen vaatii rautaista ammattitaitoa ja kovaa työtä. Tanssii Tähtien Kanssa -ohjelmassa on näh30587Oletko miettinyt
Mikä minusta tekee sinulle niin erityisen? Onko se samanlaiset lapsuusmaisemat? Työpaikan liian pitkät katseet? Selvittä30585Provider miehistä..
Tietyt miehet puhuvat ilkeästi naisista, jotka haluavat elää miehen tuloilla. Eikö? Mutta miksi tietyt miehet siitä pah189576Miksi älyllinen ponnistelu ei ole kaikille ihanaa?
Auttakaa minua, en ymmärrä. 🥵 Miten on mahdollista, että joku ei pidä pähkäilystä ja älyllisestä ponnistelusta? Minus98525- 201494
Oulaisten kaupunki/ Honkamajan kuntolenkit
Mikä ihme riivaa Oulaisten kaupunkia,kun honkamajan kuntopolut jääneet koko kesältä heinät ja pajut niittämättä? Kenelle18462Miten tehdään Todellavaikeeta hulluksi?
Tässä on nainen, jolla on korkea vaatimustaso! Todellavaikeeta voisi lukea tämän ja kiehua kateudessaan. 🤭 "[Etunimi91458Olet oikeasti paras
Mies, joka on kohdalleni sattunut. Oikeastaan liian hyvä, jos rehellisiä ollaan. Sinun paikkaasi ei kukaan vie, vaikka e27446- 96442
- 34438