Galvenā atšķirība - Runnable vs Thread
Izpildāmā programma ir pazīstama kā process. Procesu var sadalīt vairākos apakšprocesos. Piemēram, Microsoft Word ir process. Tajā pašā laikā tas pārbauda pareizrakstības kļūdas un gramatiku. Tas ir apakšprocess. Šie apakšprocesi ir pazīstami kā pavedieni. Vairākas vītnes ir process, kurā vienlaikus tiek izpildīti vairāki pavedieni. Vītņotās lietojumprogrammas var veidot, izmantojot dažādas programmēšanas valodas. Runnable un Thread ir saistīti ar Java programmēšanu. Java ir divas metodes, kā izveidot pavedienu, ieviešot Runnable saskarni vai paplašinot Thread klasi. Īstenojot Runnable, daudziem pavedieniem var būt viens un tas pats pavediena objekts, savukārt klasē Paplašinot pavedienu katram pavedienam ir saistīts unikāls objekts. Tā ir galvenā atšķirība starp Runnable un Thread.
SATURS
1. Pārskats un galvenās atšķirības
2. Kas ir darbināms
3. Kas ir pavediens
4. Līdzības starp darbināmu un pavedienu
5. Blakus salīdzinājums - Skrienams vs pavediens tabulas veidā
6. Kopsavilkums
Kas ir skrienams?
Vītne iet cauri dažiem stāvokļiem. “Jaunais” ir pavediena dzīves cikla sākums. Pēc tam, kad metode start () izsauc jaunu pavedienu, tā kļūst izpildāma. Ja pavedienu plānotājs izvēlas pavedienu, tas pāriet uz darbības stāvokli. Vītne gaida stāvokli, ja šis pavediens gaida citu pavedienu, lai veiktu uzdevumu. Pēc tam, kad pavediens ir pabeidzis darbu, tas nonāk pārtraukšanas stāvoklī.
Vītni var ieviest, izmantojot Runnable saskarni. Skatiet zemāk esošo programmu.
01. attēls: Java programma, lai izveidotu pavedienu, izmantojot Runnable interfeisu
Saskaņā ar iepriekšminēto programmu Runnable Demo klase ievieš Runnable saskarni. Metode run () atrodas klasē, kas ievieš Runnable saskarni. Tas ir pavediena ievadīšanas punkts. Loģika ir run () metodē. Galvenajā programmā pavediens tiek izveidots, definējot objektu, kas radies no Runnable Demo klases. Tas ir t1. Sākuma () metodi sauc, izmantojot t1.
Skatiet zemāk esošo programmu.
02. attēls: Java programma, lai izveidotu pavedienu cikla izpildei, ieviešot Runnable saskarni
Saskaņā ar iepriekš minēto piemēru klases Runnable Demo ievieš Runnable saskarni. Loģika, kas jāizpilda, izmantojot pavedienu, tiek ierakstīta run () metodē. Galvenajā programmā pavediens tiek izveidots, definējot objektu, kas radies no Runnable Demo klases. Tas ir t1. Pēc tam sākuma () metodi sauc, izmantojot t1.
Kas ir pavediens?
Otra pavedienu izveides metode ir klases Thread paplašināšana. Tas sastāv no trim posmiem. Pirmkārt, pasludināt klasi par pavedienu klases pagarināšanu. Pēc tam ir jāuzraksta run () metode. Tam ir soļu secība, kas pavedienam jāizpilda. Visbeidzot, tiek izveidots pavediena objekts un tiek sākta () metode, lai sāktu pavediena izpildi. Skatiet zemāk esošo programmu.
03. attēls: Java programma, kas paplašina Thread klasi
Saskaņā ar iepriekš minēto programmu MyThread klase paplašina Thread klasi. Tas ignorē palaišanas metodi. Metode run () satur loģiku, kas jāizpilda pavedienam. Tas ir pavediena ievadīšanas punkts. Pēc tam tiek izveidots pavediena objekts. Tas ir pavediens1. Vītne tiek startēta, izmantojot start () metodi. Tas izpildīs zvana palaist () metodi.
Divu klašu programmas piemērs, kas paplašina pavedienu, ir šāds.
04. attēls: Java programma ar divām klasēm, kas paplašina Thread klasi
Saskaņā ar iepriekš minēto programmu gan A, gan B klase paplašina Vītnes klasi. Abām klasēm ir ieviesta run () metode. Galvenais pavediens ir tas, kas izpilda galveno () metodi. Pirms galvenā pavediena nomiršanas tā izveido un sāk pavedienus1 un pavedienu2. Kad galvenā vītne sasniedza galvenās metodes beigas, paralēli darbojas trīs pavedieni. Nav konkrētas secības, kādā pavedieni dod izvadi. Kad pavediens ir sākts, ir grūti izlemt, kādu secību tie izpildīs. Viņi darbojas neatkarīgi.
Kādas ir Runnable un Thread līdzības?
Abi izmanto, lai izveidotu pavedienu Java
Kāda ir atšķirība starp darbināmu un pavedienu?
Atšķirīgs raksts vidū pirms tabulas
Runnable vs Thread |
|
Runnable ir Java saskarne, lai izveidotu pavedienu, kas ļauj daudziem pavedieniem koplietot to pašu pavedienu objektu. | Vītne ir Java klase, lai izveidotu pavedienu, kur katram pavedienam ir saistīts unikāls objekts. |
Atmiņa | |
Programmā Runnable vairākiem pavedieniem ir viens un tas pats objekts, tāpēc nepieciešams mazāk atmiņas. | Klasē Thread katrs pavediens izveido unikālu objektu, tāpēc nepieciešams vairāk atmiņas. |
Spēju paplašināšana | |
Pēc Runnable saskarnes ieviešanas tā var paplašināt klasi. | Java neatbalsta vairākus mantojumus. Pēc Thread klases pagarināšanas tā nevar pagarināt nevienu citu klasi. |
Koda uzturēšana | |
Runnable interfeiss padara kodu vieglāk uzturamu. | Thread klasē uzturēšana ir laikietilpīga. |
Kopsavilkums - Runnable vs Thread
Process tiek sadalīts vairākos apakšprocesos, lai vienlaikus veiktu vairākus uzdevumus. Šie apakšprocesi ir pazīstami kā pavedieni. Instant pavedienu var izdarīt, ieviešot Runnable saskarni vai paplašinot Thread Class. Thread klases paplašināšana ir vienkārša, taču tā nav labāka uz objektu orientētas programmēšanas prakse. Īstenojot Runnable, daudziem pavedieniem var būt viens un tas pats pavediena objekts, savukārt paplašinot pavedienu klasi, katram pavedienam ir saistīts unikāls objekts. Tā ir atšķirība starp Runnable un Thread. Thread klasē vairāku objektu izveide var patērēt vairāk atmiņas.
Lejupielādējiet Runnable vs Thread PDF failu
Jūs varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistes vajadzībām, kā norādīts piezīmē. Lūdzu, lejupielādējiet PDF versiju šeit Starpība starp Skrienamo un Vītni