Program v izvedbi je znan kot postopek. Postopek lahko razdelimo na več podprocesov. Microsoft Word je na primer postopek. Hkrati preverja pravopisno napako in slovnico. To je podproces. Ti podprocesi so znani kot niti. Multithreading je postopek izvajanja več niti hkrati. Navojne aplikacije je mogoče izdelati z uporabo različnih programskih jezikov. Runnable in Thread sta povezana s programiranjem Java. V Javi obstajata dve metodi za ustvarjanje niti z izvajanjem vmesnika Runnable ali razširitvijo razreda Thread. Pri izvajanju Runnable lahko veliko niti deli isti predmet niti, medtem ko ima v razredu Extending Thread vsaka nit z njim povezan enkraten predmet. To je tisto ključna razlika med Runnable in Nit.
1. Pregled in ključne razlike
2. Kaj je izvedljivo
3. Kaj je nit
4. Podobnosti med vodljivim in nitnim
5. Primerjava drug ob drugem - Izvlečljiva proti navoju v tabeli
6. Povzetek
Niti gre skozi nekatera stanja. "Novo" je začetek življenjskega cikla niti. Ko metoda start () pokliče novo nit, se lahko izpelje. Če planer nit izbere nit, preide v tekoče stanje. Nit čaka na stanje, če ta nit čaka na drugo nit, da opravi nalogo. Ko nit konča delo, preide v stanje zaključka.
Niti je mogoče implementirati z vmesnikom Runnable. Glejte spodnji program.
Slika 01: Program Java za ustvarjanje niti z vmesnikom Runnable
Po zgornjem programu razred Runnable Demo izvaja vmesnik Runnable. Metoda run () je znotraj razreda, ki izvaja vmesnik Runnable. To je vstopna točka za nit. Logika je v načinu run (). V glavnem programu se ustvari nit z definiranjem predmeta, ki je instanciran iz razreda Runnable Demo. To je t1. Metoda start () se imenuje s pomočjo t1.
Glejte spodnji program.
Slika 02: Program Java ustvari nit za izvedbo zanke z izvajanjem vmesnika Runnable
Po zgornjem primeru razred Runnable Demo izvaja vmesnik Runnable. Logika izvedbe z nitjo je napisana v run () metodi. V glavnem programu se ustvari nit z definiranjem predmeta, ki je instanciran iz razreda Runnable Demo. To je t1. Nato se s pomočjo t1 prikliče metoda start ().
Drugi način ustvarjanja niti je z razširitvijo razreda Thread. Sestavljen je iz treh korakov. Najprej je razglasiti razred kot razširitev razreda Thread. Nato je treba zapisati metodo run (). Ima zaporedje korakov, ki naj jih izvede nit. Končno se ustvari predmet niti in pokliče se metoda start (), da sproži izvedbo niti. Glejte spodnji program.
Slika 03: Program Java, ki razširja razred Thread
Po zgornjem programu razred MyThread razširi razred Thread. Prevlada način izvajanja. Metoda run () vsebuje logiko, ki jo mora izvajati nit. To je vstopna točka na nit. Nato se ustvari predmet niti. To je nit1. Niti se začne z uporabo metode start (). Izvedel bo klic za zagon () metode.
Primer programa dveh razredov, ki razširi razred Thread, je naslednji.
Slika 04: Program Java z dvema razredoma, ki razširita razred Thread
Glede na zgornji program tako razred A kot B podaljšujeta razred niti. Oba razreda imata svojo izvedbo metode run (). Glavna nit je tista, ki izvaja main () metodo. Preden glavna nit umre, ustvari in zažene nit1 in nit2. Do trenutka, ko je glavna nit dosegla konec glavne metode, tri vzporedno tečejo tri niti. Ni določenega vrstnega reda, po katerem bi niti dajale izhod. Ko se nit sproži, se je težko odločiti o vrstnem redu, ki ga bodo izvedli. Tečejo neodvisno.
Izvlečna proti niti | |
Runnable je vmesnik na Javi, da ustvari nit, ki omogoča več niti, da si delijo isti predmet niti. | Niti je razred v Javi, da ustvari nit, kjer ima vsaka nit edinstven predmet, povezan z njo. |
Spomin | |
V Runnable več niti deli isti predmet, zato potrebuje manj pomnilnika. | V razredu Thread vsaka nit ustvari edinstven predmet, zato potrebuje več pomnilnika. |
Razširitev sposobnosti | |
Po izvedbi vmesnika Runnable lahko razširi razred. | Na Javi ne podpirajo več podedovanj. Po razširitvi razreda Thread ne more razširiti nobenega drugega razreda. |
Koda Vzdrževanje | |
Izvlečni vmesnik naredi kodo bolj vzdržno. | V razredu navojev je vzdrževanje zamudno. |
Postopek je razdeljen na več podprocesov za izvajanje več opravil hkrati. Ti podprocesi so znani kot niti. Instantiranje niti se lahko izvede z implementacijo vmesnika Runnable ali s podaljšanjem razreda navojev. Razred navojev je enostavno razširiti, vendar ni boljša praksa objektnega programiranja. Pri izvajanju Runnable lahko veliko niti deli isti predmet niti, pri razširitvi razreda navojev pa ima vsaka nit edinstven predmet, povezan z njim. To je razlika med Runnable in Thread. V razredu niti lahko ustvarjanje več predmetov porabi več pomnilnika.
Lahko prenesete PDF različico tega članka in jo uporabljate za namene brez povezave, kot je navedeno v navodilu. Prosimo, da tukaj prenesete PDF različico Razlika med Runnable in Thread
1.tutorialspoint.com. "Večstransko branje Java." Točka, ki je na voljo tukaj
2.Pramodbablad. "Podaljša Thread Vs Implements Runnable in Java." Java koncept dneva, 11. novembra 2016. Na voljo tukaj
3. Načini za ustvarjanje niti v Java Multithreading | Vadnica za osnovno Java | Študijska noč. Na voljo tukaj