Vykdoma programa yra vadinama procesu. Procesą galima padalyti į kelis subprocesus. Pavyzdžiui, „Microsoft Word“ yra procesas. Tuo pačiu metu patikrinama, ar nėra rašybos klaidų ir gramatikos. Tai yra antrinis procesas. Šie papildomi procesai yra žinomi kaip gijos. Daugiasluoksnis yra kelių gijų vienu metu vykdymo procesas. Sriegines programas galima kurti naudojant skirtingas programavimo kalbas. „Runnable“ ir „Thread“ yra susieti su „Java“ programavimu. Yra du „Java“ būdai, kaip sukurti giją, įgyvendinant „Runnable“ sąsają arba praplečiant temų klasę. Įdiegdami „Runnable“, daugelis gijų gali bendrinti tą patį gijų objektą, o „Extending Thread“ klasėje kiekviena gija turi su ja susietą unikalų objektą.. Tai yra pagrindinis skirtumas tarp Runnable ir Thread.
1. Apžvalga ir svarbiausias skirtumas
2. Kas yra paleidžiama
3. Kas yra gija
4. Paleidimų ir gijų panašumai
5. Šalutinis palyginimas - „Runnable vs Thread“ lentelės pavidalu
6. Santrauka
Gija eina per kai kurias būsenas. „Naujas“ yra gijų gyvavimo ciklo pradžia. Po to, kai start () metodas iškviečia naują giją, jis tampa paleistas. Jei gijų planavimo priemonė pasirenka giją, ji pereina į veikimo būseną. Gija laukia būsenos, jei ši gija laukia kitos gijos, kad galėtų atlikti užduotį. Po to, kai sriegis užbaigia darbą, jis pereina į nutraukimo būseną.
Gija gali būti įdiegta naudojant „Runnable“ sąsają. Peržiūrėkite žemiau pateiktą programą.
01 paveikslas: „Java“ programa, skirta sukurti giją naudojant „Runnable“ sąsają
Pagal aukščiau pateiktą programą, „Runnable Demo“ klasė įgyvendina „Runnable“ sąsają. „Run ()“ metodas yra klasės, kurioje įgyvendinama „Runnable“ sąsaja, viduje. Tai yra gijos pradžia. Logika yra paleidimo () metodu. Pagrindinėje programoje gija sukuriama apibrėžiant objektą, kuris atsirado iš Runnable Demo klasės. Tai t1. Start () metodas vadinamas t1.
Peržiūrėkite žemiau pateiktą programą.
02 paveikslas: „Java“ programa, skirta sukurti giją kilpai vykdyti, įgyvendinant „Runnable“ sąsają
Pagal aukščiau pateiktą pavyzdį, „Runnable Demo“ klasė įgyvendina „Runnable“ sąsają. Vykdymo logika, paremta gija, parašyta paleidimo () metodu. Pagrindinėje programoje gija sukuriama apibrėžiant objektą, kuris atsirado iš Runnable Demo klasės. Tai t1. Tada pradžios () metodas vadinamas t1.
Kitas gijų kūrimo būdas yra išplėsti gijų klasę. Jį sudaro trys etapai. Pirmiausia reikia paskelbti klasę pratęsiančia „Thread“ klasę. Vėliau turėtų būti parašytas run () metodas. Jame yra žingsnių seka, kuriuos siūlas turėtų atlikti. Galiausiai sukuriamas gijos objektas ir, norint inicijuoti gijos vykdymą, iškviečiamas pradžios () metodas. Peržiūrėkite žemiau pateiktą programą.
03 paveikslas: „Java“ programa, praplečianti „Thread“ klasę
Pagal aukščiau pateiktą programą, „MyThread“ klasė pratęsia „Thread“ klasę. Tai nepaiso vykdymo metodo. Bėgimo () metodas apima logiką, kurią turi vykdyti gija. Tai yra įėjimo į giją taškas. Tada sukuriamas sriegio objektas. Tai gija1. Siūlas pradedamas naudojant start () metodą. Tai vykdys kvietimo paleisti () metodą.
Dviejų klasių, pratęsiančių sriegio klasę, pavyzdinė programa yra tokia.
Paveikslėlis 04: „Java“ programa su dviem klasėmis, praplečiančiomis „Thread“ klasę
Pagal aukščiau pateiktą programą, tiek A, tiek B klasė pratęsia sriegių klasę. Abi klasės turi savo run () metodo įgyvendinimą. Pagrindinė gija vykdo pagrindinį () metodą. Prieš mirdamas pagrindinis sriegis, jis sukuria ir pradeda giją1 ir giją2. Kai pagrindinis sriegis pasiekė pagrindinio metodo pabaigą, trys gijos eina lygiagrečiai. Nėra konkrečios tvarkos, pagal kurią sriegiai duotų išvestį. Pradėjus giją, sunku nuspręsti, kokią tvarką jie vykdys. Jie bėga savarankiškai.
Paleidžiama vs sriegis | |
„Runnable“ yra „Java“ sąsaja, skirta sukurti giją, leidžiančią daugeliui gijų dalytis tuo pačiu gijų objektu. | Gija yra „Java“ klasė, skirta sukurti giją, kurioje kiekviena gija yra susieta su unikaliu objektu. |
Atmintis | |
„Runnable“ kelios gijos naudoja tą patį objektą, todėl reikia mažiau atminties. | Temų klasėje kiekviena gija sukuria unikalų objektą, todėl reikia daugiau atminties. |
Gebėjimų išplėtimas | |
Įdiegę „Runnable“ sąsają, ji gali pratęsti klasę. | „Java“ nepalaiko kelių paveldėjimų. Išplėtus „Thread“ klasę, ji negali išplėsti jokios kitos klasės. |
Kodo tvarumas | |
Paleidžiama sąsaja daro kodą labiau prižiūrimą. | „Thread“ klasėje priežiūra reikalauja daug laiko. |
Procesas yra padalintas į kelis antrinius procesus, kad vienu metu būtų galima atlikti kelias užduotis. Šie papildomi procesai yra žinomi kaip gijos. Sumažinti giją galima įgyvendinant „Runnable“ sąsają arba praplečiant „Gijų klasę“. Temų klasę pratęsti lengva, tačiau tai nėra geresnė objektinio programavimo praktika. Įdiegdami „Runnable“, daugelis gijų gali dalytis tuo pačiu gijų objektu, o praplečiant gijų klasę, kiekviena gija turi su ja susietą unikalų objektą. Tai yra skirtumas tarp „Runnable“ ir „Thread“. Gijų klasėje kelių objektų kūrimas gali sunaudoti daugiau atminties.
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia. Paleidžiamų ir siūlų skirtumas
1.tutorialspoint.com. „Java daugybė“. Taškas, prieinamas čia
2.Pramodbablad. „Išplečia temą„ V “, kurią galima vykdyti„ Java “.“ „Java“ dienos koncepcija, 2016 m. Lapkričio 11 d. Galima rasti čia
3.Way sukurti giją "Java" daugiagijų gijų | Pagrindinė „Java“ mokymo programa | Studijų naktis. Galima rasti čia