A végrehajtás alatt álló program folyamatként ismert. 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 nevezzük. A többszálú szálak több szál egyidejű futtatásának a folyamatai. A menetes alkalmazások különféle programozási nyelvekkel építhetők fel. A futtatható és a szál a Java programozáshoz van társítva. A Java-ban két módszer létezik egy szál létrehozására egy futtatható felület megvalósításával vagy a szál osztály meghosszabbításával. A Runnable megvalósításakor sok szál megoszthatja ugyanazt a szálobjektumot, miközben a Szálak kiterjesztése osztályban minden szálhoz egyedi objektum van társítva. Ez a kulcs különbség futtatható és a szál között.
1. Áttekintés és a legfontosabb különbség
2. Mi futtatható?
3. Mi a szál?
4. A futtatható és a menet közötti hasonlóságok
5. Összehasonlítás egymás mellett - futtatható vs menet táblázatos formában
6. Összegzés
Egy szál áthalad egyes államokon. Az „új” a szál életciklusának kezdete. Miután a start () metódus új szálat hív fel, futtathatóvá válik. Ha a szálat ütemező választja ki a szálat, akkor átvált futási állapotba. A szál arra az állapotra vár, ha ez 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 végződési állapotba kerül.
A szál végrehajtható a futtatható felületen. Lásd az alábbi programot.
01. ábra: Java program egy szál létrehozásához Runnable felületen keresztül
A fenti program szerint a Runnable Demo osztály a Runnable felületet valósítja meg. A run () módszer azon az osztályon belül található, amely a Runnable felületet megvalósítja. Ez a szál belépési pontja. A logika a run () metódusban van. A fő programban egy szálat hoznak létre egy olyan objektum meghatározásával, amely a Futtatható bemutató osztályból megvalósul. T1. A start () metódust a t1 használatával hívjuk.
Lásd az alábbi programot.
02 ábra: Java program egy hurok végrehajtására szolgáló szál létrehozására a Runnable felület megvalósításával
A fenti példa szerint a Runnable Demo osztály megvalósítja a Runnable felületet. A szál használatával végrehajtandó logika run () módszerrel íródik. A fő programban egy szálat hoznak létre egy olyan objektum meghatározásával, amely a Futtatható bemutató osztályból megvalósul. T1. Ezután a start () metódust a t1 használatával hívjuk.
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 az osztályt kiterjesszék a szál osztályára. Ezután meg kell írni a run () metódust. A szálak lépéseinek sorrendjét kell végrehajtani. Végül létrejön a szál-objektum, és a start () metódust meghívják a szál végrehajtásának kezdeményezésére. Lásd az alábbi programot.
03. ábra: A Java osztályt kiterjesztő Java program
A fenti program szerint a MyThread osztály kiterjeszti a szál osztályt. Ez felülbírálja a futtatási módszert. A run () módszer tartalmazza a szál által végrehajtandó logikát. Ez a szál belépési pontja. Ezután a szál objektum létrehozásra kerül. Ez szál1. A szálat a start () módszerrel indítottuk el. Ez futtat egy hívást a run () módszerre.
A szál osztályát kibővítő két osztály példaprogramja a következő.
04. ábra: Java program két osztálytal, amelyek kiterjesztik a szálak osztályát
A fenti program szerint mind az A, mind a B osztály kiterjeszti a szál osztályt. Mindkét osztály rendelkezik a run () módszer megvalósításával. 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 speciális sorrend, amelyben a szálak adják a kimenetet. A szál elindítása után nehéz eldönteni, hogy milyen sorrendben hajtják végre őket. Ők függetlenül futnak.
Futtatható vs szál | |
A Runnable egy interfész a Java-ban, amely olyan szálat hoz létre, amely lehetővé teszi, hogy sok szála megossza ugyanazt a szálat. | A szál egy osztály a Java-ban egy szál létrehozásához, ahol minden szálhoz egyedi objektum van társítva. |
memória | |
A Futtatható alkalmazásban több szál ugyanazt az objektumot osztja meg, ezért kevesebb memóriára van szükség. | A szál osztályban minden szál egyedi objektumot hoz létre, ezért több memóriára van szüksége. |
A képesség kibővítése | |
A Runnable felület megvalósítása után kibővítheti az osztályt. | A Java nem támogatja a több öröklést. A szál osztály kibővítése után nem bővítheti más osztályt. |
Kód karbantarthatóság | |
A futtatható felület a kódot jobban karbantarthatóvá teszi. | A szál osztályban a karbantartás időigényes. |
A folyamat több alfolyamatra oszlik, hogy egyszerre több feladatot végezzen. Ezeket az alfolyamatokat szálaknak nevezzük. A szál elindítása a Runnable felület megvalósításával vagy a szál osztály kibővítésével valósítható meg. Könnyű meghosszabbítani a szál osztályt, de ez nem jobb objektum-orientált programozási gyakorlat. A Runnable megvalósításakor sok szál megoszthatja ugyanazt a szálobjektumot, míg a szálosztály kibővítésekor minden szál egyedi objektummal rendelkezik. Ez a különbség a futtatható és a szál között. A szál osztályban a több objektum létrehozása több memóriát fogyaszthat.
Letöltheti e cikk PDF verzióját, és offline célokra felhasználhatja, az idézet megjegyzésének megfelelően. Töltse le a PDF verziót itt. A futtatható és a szál közötti különbség
1.tutorialspoint.com. “Java sokrétű”. A pont, elérhető itt
2.Pramodbablad. „Meghosszabbítja a szálak futtathatóságát a Java-ban.” A nap Java koncepciója, 2016. november 11. Elérhető itt
3. Szálak létrehozásának módjai a Java Multithreading | Alapvető Java bemutató | Studytonight. Itt érhető el