Különbség A Futható és A Szál Között

Tartalomjegyzék:

Különbség A Futható és A Szál Között
Különbség A Futható és A Szál Között
Anonim

Fő különbség - Futható vs szál

A futó programot folyamatnak nevezik. A folyamat több alfolyamatra osztható. Például a Microsoft Word egy folyamat. Ugyanakkor ellenőrzi a helyesírási hibát és a nyelvtant. Ez egy alfolyamat. Ezeket az alfolyamatokat szálaknak nevezik. A többszálas futtatás több szál egyidejű végrehajtásának folyamata. A menetes alkalmazások különböző programozási nyelvek segítségével építhetők fel. A Runnable és a Thread társul a Java programozáshoz. Kétféle módszer létezik a Java-ban egy szál létrehozására Futható felület megvalósításával vagy a Szál osztály kibővítésével. A Runnable megvalósításakor sok szál ugyanazt a szálobjektumot oszthatja meg, míg a Szál kiterjesztése osztályban minden szálhoz egyedi objektum társul. Ez a legfontosabb különbség a Runnable és a Thread között.

TARTALOM

1. Áttekintés és kulcsfontosságú különbségek

2. Mi futható

3. Mi az a szál

4. A futható és a szál közötti hasonlóság

5. Egymás melletti összehasonlítás - Futható vs szál táblázatos formában

6. Összefoglalás

Mi a Futható?

Egy szál egyes állapotokon megy keresztül. Az „új” a szál életciklusának kezdete. Miután a start () metódus új szálat hív, futhatóvá válik. Ha a szálütemező kiválasztja a szálat, akkor az átvált a futó állapotba. A szál az állapotra vár, ha az a szál egy másik szálra vár egy feladat végrehajtására. Miután a szál befejezte a munkát, a felmondási állapotba kerül.

Egy szál megvalósítható a Futható felület segítségével. Olvassa el az alábbi programot.

Különbség a futható és a szál között
Különbség a futható és a szál között

01. ábra: Java program egy szál létrehozásához a Runnable felület segítségével

A fenti program szerint a Runnable Demo osztály implementálja a Runnable interfészt. A run () metódus azon az osztályon belül található, amely a Runnable interfészt valósítja meg. Ez a szál belépési pontja. A logika a run () metódusban van. A fő programban egy szál jön létre egy objektum definiálásával, amely a Futható Demo osztályból példányos. Ez t1. A start () metódust a t1 használatával hívjuk meg.

Olvassa el az alábbi programot.

Különbség a Runnable és a Thread Figure között 02
Különbség a Runnable és a Thread Figure között 02

02. ábra: Java program egy szál létrehozásához egy hurok végrehajtásához a Futható felület megvalósításával

A fenti példa szerint a Runnable osztály bemutatja a Runnable interfészt. A szál segítségével végrehajtandó logika a run () metódussal van megírva. A fő programban egy szál jön létre egy objektum definiálásával, amely a Futható Demo osztályból példányos. Ez t1. Ezután a start () metódust meghívjuk a t1 használatával.

Mi az a szál?

A szál létrehozásának másik módja a Szál osztály kibővítése. Három lépésből áll. Az első az, hogy nyilvánítsuk az osztályt a Szál osztály kiterjesztésévé. Utána meg kell írni a run () metódust. Megvan a lépések sorrendje, amelyet a szálnak végre kell hajtania. Végül létrejön a szálobjektum, és a start () metódust hívják meg a szál végrehajtásának megkezdésére. Olvassa el az alábbi programot.

Különbség a futható és a szál között 03 ábra
Különbség a futható és a szál között 03 ábra

03. ábra: Java program, amely kiterjeszti a Thread osztályt

A fenti program szerint a MyThread osztály kiterjeszti a Thread osztályt. Ez felülírja a futási módszert. A run () metódus tartalmazza a szál által végrehajtandó logikát. Ez a szál belépési pontja. Ezután létrejön a szálobjektum. Ez a thread1. A szál a start () módszerrel indul. Futtat egy futtatás () metódust.

A szál osztályt kibővítő két osztály példaprogramja a következő.

Kulcsfontosságú különbség a futható és a szál között
Kulcsfontosságú különbség a futható és a szál között

04. ábra: Java program két osztállyal, amelyek kiterjesztik a Thread osztályt

A fenti program szerint az A és B osztály egyaránt kiterjeszti a Thread osztályt. Mindkét osztály megvalósítja a run () metódust. A fő szál az, amely végrehajtja a main () metódust. Mielőtt a fő szál meghal, létrehozza és elindítja az 1. és 2. szálat. Mire a fő szál elérte a fő módszer végét, három szál fut párhuzamosan. Nincs külön sorrend, amelyben a szálak kimenetet adnak. A szál elindítása után nehéz eldönteni a végrehajtás sorrendjét. Önállóan futnak.

Milyen hasonlóságok vannak a futható és a szál között?

Mindkettő szálat hoz létre a Java-ban

Mi a különbség a futható és a szál között?

Különböző cikk a táblázat előtt

Futható vs menet

A Runnable egy Java-felület egy szál létrehozásához, amely lehetővé teszi sok szál ugyanazon szálobjektum megosztását. A szál a Java osztálya egy szál létrehozására, ahol minden szálhoz egyedi objektum társul.
memória
A Runnable alkalmazásban több szál ugyanazt az objektumot használja, ezért kevesebb memóriára van szükség. A Thread osztályban minden szál egyedi objektumot hoz létre, ezért több memóriára van szükség.
A képesség kiterjesztése
A Runnable felület megvalósítása után kibővítheti az osztályt. A Java nem támogatja az öröklést. A Thread osztály kibővítése után nem bővíthet más osztályt.
Kód karbantarthatóság
A futható felület a kódot karbantarthatóbbá teszi. A Thread osztályban a karbantartás időigényes.

Összegzés - Futható vs menet

Egy folyamat több alfolyamatra van felosztva több feladat egyidejű végrehajtására. Ezeket az alfolyamatokat szálaknak nevezik. A szál egyidejű kezdeményezése a Futható felület megvalósításával vagy a Szál osztály kibővítésével történhet. Könnyű kiterjeszteni a Thread osztályt, de nem jobb az objektum-orientált programozási gyakorlat. A Runnable megvalósításakor sok szál ugyanazt a szálobjektumot tudja megosztani, miközben a Szál osztály kiterjesztésénél minden szálhoz egyedi objektum társul. Ez a különbség a Runnable és a Thread között. A Thread osztályban a több objektum létrehozása több memóriát emészt fel.

Töltse le a Runnable vs Thread PDF-fájlt

A cikk PDF-verzióját letöltheti, és offline célokra is használhatja, az idézési megjegyzés szerint. Kérjük, töltse le itt a PDF verziót. Különbség a futható és a szál között

Ajánlott: