Suoritettavana oleva ohjelma tunnetaan prosessina. Prosessi voidaan jakaa useisiin aliprosesseihin. Esimerkiksi Microsoft Word on prosessi. Samalla se tarkistaa oikeinkirjoituksen ja kieliopin. Se on aliprosessi. Nämä aliprosessit tunnetaan säikeinä. Monisäikeinen on prosessi, jolla suoritetaan useita ketjuja samanaikaisesti. Kierteisiä sovelluksia voidaan rakentaa käyttämällä erilaisia ohjelmointikieliä. Runnable ja Thread liittyvät Java-ohjelmointiin. Java-tekniikassa on kaksi tapaa luoda säiettä toteuttamalla suoritettava käyttöliittymä tai laajentamalla säieluokkaa. Suoritettaessa Runnable, monet ketjut voivat jakaa saman ketjuobjektin, kun taas Extending Thread -luokassa jokaiselle ketjulle on liitetty yksilöivä objekti. Tuo on avainero suoritettavan ja langan välillä.
1. Yleiskatsaus ja keskeiset erot
2. Mikä on ajettavissa
3. Mikä on säie
4. Samankaltaisuudet ajettavan ja langan välillä
5. Vertailu rinnakkain - suoritettava vs lanka taulukkomuodossa
6. Yhteenveto
Lanka kulkee joidenkin valtioiden läpi. ”Uusi” on langan elinkaaren alku. Kun käynnistysmenetelmä () kutsuu uuden säiettä, siitä tulee ajettavissa. Jos säikeiden ajoittaja valitsee säikeen, se siirtyy käynnistystilaan. Lanka odottaa tilaa, jos kyseinen ketju odottaa toista säiettä tehtävän suorittamiseksi. Kun lanka on valmis työ, se menee päätetilaan.
Lanka voidaan toteuttaa Runnable-käyttöliittymällä. Katso alla olevaa ohjelmaa.
Kuva 01: Java-ohjelma säikeen luomiseen Runnable-käyttöliittymällä
Yllä olevan ohjelman mukaan luokka Runnable Demo toteuttaa Runnable-käyttöliittymän. Run () -menetelmä on luokan sisällä, joka toteuttaa Runnable-käyttöliittymän. Se on langan sisääntulopiste. Logiikka on run () -menetelmässä. Pääohjelmassa säie luodaan määrittelemällä objekti, joka välittyi Runnable Demo -luokasta. Se on t1. Käynnistysmenetelmää () kutsutaan t1: llä.
Katso alla olevaa ohjelmaa.
Kuva 02: Java-ohjelma langan luomiseksi silmukan toteuttamiseksi toteuttamalla suoritettava käyttöliittymä
Yllä olevan esimerkin mukaan luokka Runnable Demo toteuttaa Runnable-käyttöliittymän. Kierteen avulla suoritettava logiikka on kirjoitettu run () -menetelmällä. Pääohjelmassa säie luodaan määrittelemällä objekti, joka välittyi Runnable Demo -luokasta. Se on t1. Sitten start () -menetelmää kutsutaan käyttämällä t1.
Toinen tapa luoda ketju on laajentamalla ketjuluokkaa. Se koostuu kolmesta vaiheesta. Ensin on julistettava luokka laajentamaan ketjuluokkaa. Jälkeenpäin run () -menetelmä tulisi kirjoittaa. Siinä on vaihejärjestys, jonka säikeen tulisi suorittaa. Lopuksi säieobjekti luodaan, ja aloitus () -menetelmä kutsutaan käynnistämään säiettä. Katso alla olevaa ohjelmaa.
Kuva 03: Java-ohjelma, joka laajentaa säieluokkaa
Yllä olevan ohjelman mukaan MyThread-luokka laajentaa säieluokkaa. Se ohittaa suoritusmenetelmän. Run () -menetelmä sisältää logiikan, jonka säie suorittaa. Se on aloituskohta ketjuun. Sitten lankaobjekti luodaan. Se on säie1. Lanka aloitetaan start () -menetelmällä. Se suorittaa kutsun suorittaa () -menetelmän.
Esimerkki kahdesta luokasta, jotka jatkavat lankaluokkaa, on seuraava.
Kuva 04: Java-ohjelma, jossa on kaksi luokkaa, jotka jatkavat säieluokkaa
Yllä olevan ohjelman mukaan sekä luokka A että B jatkavat lankaluokkaa. Molemmilla luokilla on suoritettu run () -menetelmä. Päälanka suorittaa main () -menetelmän. Ennen kuin päälanka kuolee, se luo ja käynnistää säie1 ja säie2. Siihen mennessä, kun päälanka saavutti päämenetelmän lopun, kolme säiettä on käynnissä samanaikaisesti. Ei ole erityistä järjestystä, jossa säikeet antavat tulosteen. Kun säie on aloitettu, on vaikea päättää, missä järjestyksessä he suorittavat. He juoksevat itsenäisesti.
Suoritettava vs ketju | |
Runnable on Java-käyttöliittymä, jolla luodaan ketju, jonka avulla monet ketjut voivat jakaa saman ketjuobjektin. | Lanka on Java-luokka, jolla luodaan ketju, jossa jokaiselle ketjulle on liitetty yksilöivä objekti. |
Muisti | |
Suoritettavissa, useat ketjut jakavat saman objektin, joten vaatii vähemmän muistia. | Kierreluokassa jokainen säie luo yksilöllisen objektin, joten se vaatii enemmän muistia. |
Kykyjen laajentaminen | |
Suoritetun Runnable-käyttöliittymän avulla se voi pidentää luokkaa. | Java ei tue useita perintöjä. Kiertoluokan laajentamisen jälkeen se ei voi laajentaa ketään muuta luokkaa. |
Koodin ylläpidettävyys | |
Suoritettava käyttöliittymä tekee koodista entistä ylläpidettävämmän. | Kierreluokassa ylläpito on aikaa vievää. |
Prosessi on jaettu useisiin osaprosesseihin useiden tehtävien suorittamiseksi samanaikaisesti. Nämä aliprosessit tunnetaan säikeinä. Langan välitön aloittaminen voidaan suorittaa toteuttamalla suoritettava käyttöliittymä tai laajentamalla säieluokkaa. Ketjuluokkaa on helppo pidentää, mutta se ei ole parempi olio-ohjelmointi. Suoritettaessa Runnable, monet ketjut voivat jakaa saman ketjuobjektin, kun taas ketjuluokkaa laajennettaessa jokaiselle ketjulle on liitetty yksilöllinen objekti. Tämä on ero suoritettavan ja säikeen välillä. Kierreluokassa useiden kohteiden luominen voi kuluttaa enemmän muistia.
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio täältä Suoritettavan ja langan ero
1.tutorialspoint.com. “Java monisäikeinen.” Kohta, saatavana täältä
2.Pramodbablad. "Laajentaa säiettä Vs toteuttaa Java-ajettavana." Päivän Java-konsepti, 11. marraskuuta 2016. Saatavilla täältä
3.Tilat luoda ketju Java-monisäikeiseen | Core Java -opetus | Studytonight. Saatavilla täältä