Szál (programozás)

A Wikipédiából, a szabad enciklopédiából

A végrehajtási szál (angolul thread) a számítógép-programozás során létrehozott, önálló végrehajtási egységként működő program, objektum, szekvenciálisan végrehajtható utasítás-sorozat, egy adott probléma véges számú lépésben történő megoldása (algoritmus).

Egy processz 2 végrehajtási szállal egy processzoron.

Leírás[szerkesztés | forrásszöveg szerkesztése]

A legtöbb modern operációs rendszer már rendszerszinten biztosítja ezt a felületet. Egy számítógépen párhuzamosan több szál is futhat (angolul: multithreading); ekkor több program, vagy egy többszálas program futtatását végzi egy vagy több processzor. Ha a futtatott szálak száma meghaladja a processzorok számát, a processzor idejét el kell osztani a szálak között. Ezen az időosztást is többnyire az operációs rendszerek vagy a nyelv fordítója végzi.

Felhasználása[szerkesztés | forrásszöveg szerkesztése]

A szálakat általában két dologra használják:

  • a program gyorsítása,
  • a program "pihentetése".

A program gyorsítása[szerkesztés | forrásszöveg szerkesztése]

A szálakat egy programban legtöbbször arra használják,hogy felgyorsítsák azt, olyan módon, hogy a nagyobb teendőket szálakba rendezik, így mindegyik nagy feladattal(ami lassítaná a programot) külön-külön szál(processzormag) foglalkozik így a program futási ideje rövidül.

A program „pihentetése”[szerkesztés | forrásszöveg szerkesztése]

A szálak alkalmasak lehetnek arra, hogy néha valamilyen okból szüneteltessék a programot(pl. hogy a felhasználónak legyen ideje elolvasni egy szöveget, mielőtt a program továbblépne). Ezt olyan módon oldják meg, hogy a programot szálba helyezik és a szálat „pihentetik”. Ezt sok nyelvben máshogyan is meg lehet oldani (külön parancs van erre), de néhány nyelvben (pl.: Java) ezt nem lehet megtenni.

A legtöbb objektumorientált nyelv (pl. Java) támogatja a szálak használatát.