Ero Runnable Ja Thread Välillä

Sisällysluettelo:

Ero Runnable Ja Thread Välillä
Ero Runnable Ja Thread Välillä

Video: Ero Runnable Ja Thread Välillä

Video: Ero Runnable Ja Thread Välillä
Video: Thread и Runnable. Java Professional. Урок 13 2024, Saattaa
Anonim

Tärkein ero - ajettava vs. lanka

Suoritettavaa ohjelmaa kutsutaan prosessiksi. Prosessi voidaan jakaa useisiin aliprosesseihin. Esimerkiksi Microsoft Word on prosessi. Samalla se tarkistaa kirjoitusvirheen ja kieliopin. Se on aliprosessi. Nämä aliprosessit tunnetaan säikeinä. Monisäikeisyys on prosessi, jossa suoritetaan useita ketjuja samanaikaisesti. Kierteelliset sovellukset voidaan rakentaa eri ohjelmointikielillä. Runnable ja Thread liittyvät Java-ohjelmointiin. Javaissa on kaksi tapaa luoda ketju toteuttamalla Runnable-käyttöliittymä tai laajentamalla Thread-luokkaa. Kun toteutetaan Runnable, monet säikeet voivat jakaa saman säieobjektin, kun taas Laajentava säie -luokassa jokaiseen säikeeseen on liitetty ainutlaatuinen objekti. Tämä on keskeinen ero Runnable- ja Thread-laitteiden välillä.

SISÄLLYS

1. Yleiskatsaus ja keskeinen ero

2. Mikä on ajettava

3. Mikä on kierre

4. Juoksevan ja langan väliset yhtäläisyydet

5. Rinnakkainen vertailu - juokseva vs. ketju taulukkomuodossa

6. Yhteenveto

Mikä on ajettava?

Lanka kulkee joidenkin tilojen läpi.”Uusi” on langan elinkaaren alku. Kun start () -metodi kutsuu uuden ketjun, siitä tulee ajettava. Jos ketjun ajastin valitsee langan, se siirtyy juoksutilaan. Lanka odottaa tilaa, jos tämä lanka odottaa toista ketjua tehtävän suorittamiseksi. Kun lanka on saanut työn päätökseen, se siirtyy lopetustilaan.

Lanka voidaan toteuttaa Runnable-käyttöliittymällä. Katso alla oleva ohjelma.

Ero Runnable ja Thread välillä
Ero Runnable ja Thread välillä

Kuva 01: Java-ohjelma ketjun luomiseen Runnable-käyttöliittymällä

Yllä olevan ohjelman mukaan luokan Runnable Demo toteuttaa Runnable-käyttöliittymän. Run () -menetelmä on luokassa, joka toteuttaa Runnable-käyttöliittymän. Se on ketjun alkupiste. Logiikka on run () -menetelmässä. Pääohjelmassa ketju luodaan määrittelemällä objekti, joka ilmentyi Runnable Demo -luokasta. Se on t1. Aloitus () -menetelmää kutsutaan t1: llä.

Katso alla oleva ohjelma.

Ero Runnable ja Thread Figure 02 välillä
Ero Runnable ja Thread Figure 02 välillä

Kuva 02: Java-ohjelma luomaan ketju silmukan toteuttamiseksi toteuttamalla Runnable-käyttöliittymä

Yllä olevan esimerkin mukaan luokan Runnable Demo toteuttaa Runnable-käyttöliittymän. Langan avulla suoritettava logiikka kirjoitetaan run () -menetelmällä. Pääohjelmassa ketju luodaan määrittelemällä objekti, joka ilmentyi Runnable Demo -luokasta. Se on t1. Sitten kutsutaan start () -menetelmää t1: llä.

Mikä on lanka?

Toinen tapa luoda ketju on laajentaa säie-luokkaa. Se koostuu kolmesta vaiheesta. Ensinnäkin on julistettava luokka jatkavan säiettä. Sen jälkeen tulee kirjoittaa run () -metodi. Siinä on vaiheet, jotka langan tulisi suorittaa. Lopuksi lankaobjekti luodaan ja käynnistys () -menetelmää kutsutaan aloittamaan langan suoritus. Katso alla oleva ohjelma.

Ero Runnable ja Thread Figure 03 välillä
Ero Runnable ja Thread Figure 03 välillä

Kuva 03: Java-ohjelma, joka laajentaa Thread-luokkaa

Yllä olevan ohjelman mukaan MyThread-luokka laajentaa Thread-luokkaa. Se ohittaa ajomenetelmän. Run () -metodi sisältää langan suorittaman logiikan. Se on ketjun alkupiste. Sitten lankaobjekti luodaan. Se on lanka1. Lanka aloitetaan käyttämällä start () -menetelmää. Se suorittaa Call to run () -menetelmän.

Seuraava esimerkki kahdesta luokasta, joka jatkaa Thread-luokkaa, on seuraava.

Tärkein ero ajettavan ja langan välillä
Tärkein ero ajettavan ja langan välillä

Kuva 04: Java-ohjelma, jossa on kaksi luokkaa, jotka laajentavat Thread-luokkaa

Yllä olevan ohjelman mukaan sekä A- että B-luokka jatkavat Thread-luokkaa. Molemmilla luokilla on suoritettu run () -menetelmä. Pääkierre on se, joka suorittaa main () -menetelmän. Ennen kuin päälanka kuolee, se luo ja aloittaa säie1 ja säie2. Siihen mennessä, kun päälanka on päässyt päämenetelmän loppuun, kolme säiettä on käynnissä rinnakkain. Ei ole mitään erityistä järjestystä, jossa säikeet antavat ulostulon. Kun ketju on aloitettu, on vaikea päättää niiden suorittamisjärjestystä. He juoksevat itsenäisesti.

Mitkä ovat yhteneväisyydet juoksevan ja langan välillä?

Molemmat käyttävät luoda ketju Java

Mikä on ero ajettavan ja langan välillä?

Erilainen artikkeli keskellä taulukkoa

Juokseva vs lanka

Runnable on Java-käyttöliittymä ketjun luomiseen, jonka avulla monet ketjut voivat jakaa saman säieobjektin. Lanka on Java-luokka, joka luo ketjun, jossa jokaiseen säikeeseen liittyy ainutlaatuinen esine.
Muisti
Runnable-ohjelmassa useilla säikeillä on sama objekti, joten ne vaativat vähemmän muistia. Thread-luokassa kukin säie luo yksilöllisen objektin, joten se tarvitsee enemmän muistia.
Kyvyn laajentaminen
Kun Runnable-käyttöliittymä on otettu käyttöön, se voi laajentaa luokkaa. Java ei tue useita perintöjä. Thread-luokan laajentamisen jälkeen se ei voi laajentaa mitään muuta luokkaa.
Koodin ylläpidettävyys
Suoritettava käyttöliittymä tekee koodista ylläpidettävämmän. Thread-luokassa ylläpito on aikaa vievää.

Yhteenveto - Runnable vs Thread

Prosessi on jaettu useisiin aliprosesseihin useiden tehtävien suorittamiseksi samanaikaisesti. Nämä aliprosessit tunnetaan säikeinä. Kierteen pikalähetys voidaan tehdä toteuttamalla Runnable-käyttöliittymä tai laajentamalla säieluokkaa. Thread-luokkaa on helppo laajentaa, mutta se ei ole parempi olio-ohjelmointikäytäntö. Kun toteutetaan Runnable, monet säikeet voivat jakaa saman säieobjektin, kun taas Thread-luokkaa laajennettaessa jokaiselle säikeelle on liitetty ainutlaatuinen objekti. Se on ero Runnable ja Thread välillä. Thread-luokassa usean objektin luominen voi kuluttaa enemmän muistia.

Lataa PDF: Runnable vs Thread

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainausviestin mukaan. Lataa PDF-versio täältä Juoksevan ja langan välinen ero

Suositeltava: