Szál (programozás)

a programozott utasítások legkisebb sorozata, amelyet egy ütemező önállóan kezelhet
Ez a közzétett változat, ellenőrizve: 2023. július 28.

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.

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

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

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

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.