Dallimi midis Runnable dhe Thread

Përmbajtje:

Dallimi midis Runnable dhe Thread
Dallimi midis Runnable dhe Thread

Video: Dallimi midis Runnable dhe Thread

Video: Dallimi midis Runnable dhe Thread
Video: Dallimi midis gabimit dhe mëkatit 2024, Korrik
Anonim

Diferenca kryesore – Runnable vs Thread

Një program në ekzekutim njihet si proces. Procesi mund të ndahet në nënprocese të shumta. Për shembull, Microsoft Word është një proces. Në të njëjtën kohë, kontrollon gabimin drejtshkrimor dhe gramatikën. Ky është një nënproces. Këto nënprocese njihen si thread. Multithreading është procesi i ekzekutimit të fijeve të shumta në të njëjtën kohë. Aplikacionet e filetuara mund të ndërtohen duke përdorur gjuhë të ndryshme programimi. Runnable dhe Thread janë të lidhura me programimin Java. Ekzistojnë dy metoda në Java për të krijuar një thread duke zbatuar një ndërfaqe Runnable ose duke zgjeruar klasën Thread. Kur zbatohet Runnable, shumë thread mund të ndajnë të njëjtin objekt thread ndërsa në klasën Extending Thread, çdo thread ka një objekt unik të lidhur me të. Ky është ndryshimi kryesor midis Runnable dhe Thread.

Çfarë është Runnable?

Një fije kalon nëpër disa gjendje. "E reja" është fillimi i ciklit jetësor të fillit. Pasi metoda start() thërret një thread të ri, ai bëhet i ekzekutueshëm. Nëse programuesi i thread-it zgjedh thread-in, ai kalon në gjendjen e ekzekutimit. Thread-i është duke pritur për gjendjen nëse ai thread pret një thread tjetër për të kryer një detyrë. Pasi filli të përfundojë punën, kalon në gjendjen e përfundimit.

Një thread mund të zbatohet duke përdorur ndërfaqen Runnable. Referojuni programit të mëposhtëm.

Dallimi midis Runnable dhe Thread
Dallimi midis Runnable dhe Thread

Figura 01: Program Java për të krijuar një thread duke përdorur ndërfaqen Runnable

Sipas programit të mësipërm, klasa Runnable Demo zbaton ndërfaqen Runnable. Metoda run() është brenda klasës që implementon ndërfaqen Runnable. Është pika hyrëse për fillin. Logjika është në metodën run(). Në programin kryesor, krijohet një thread duke përcaktuar një objekt që është instancuar nga klasa Runnable Demo. Është t1. Metoda start() thirret duke përdorur t1.

Referojuni programit të mëposhtëm.

Dallimi midis Runnable dhe Thread_Figure 02
Dallimi midis Runnable dhe Thread_Figure 02

Figura 02: Programi Java për të krijuar një thread për të ekzekutuar një lak, duke zbatuar ndërfaqen Runnable

Sipas shembullit të mësipërm, klasa Runnable Demo zbaton ndërfaqen Runnable. Logjika për të ekzekutuar duke përdorur thread është shkruar në metodën run(). Në programin kryesor, krijohet një thread duke përcaktuar një objekt që është instancuar nga klasa Runnable Demo. Është t1. Pastaj, metoda start() thirret duke përdorur t1.

Çfarë është Tema?

Metoda tjetër e krijimit të një thread është duke zgjeruar klasën Thread. Ai përbëhet nga tre hapa. Së pari është deklarimi i klasës si zgjerim i klasës Thread. Më pas, duhet të shkruhet metoda run(). Ajo ka sekuencën e hapave që thread duhet të ekzekutojë. Më në fund, krijohet objekti thread dhe thirret metoda start() për të inicuar ekzekutimin e thread-it. Referojuni programit të mëposhtëm.

Dallimi midis Runnable dhe Thread_Figure 03
Dallimi midis Runnable dhe Thread_Figure 03

Figura 03: Program Java që zgjeron klasën e temës

Sipas programit të mësipërm, klasa MyThread zgjeron klasën Thread. Ai anashkalon metodën e ekzekutimit. Metoda run() përmban logjikën që do të ekzekutohet nga thread. Është pika hyrëse në fill. Pastaj krijohet objekti thread. Është fill 1. Thread-i niset duke përdorur metodën start(). Ajo do të ekzekutojë një metodë thirrje për të ekzekutuar().

Një program shembull i dy klasave që zgjerojnë klasën Thread është si më poshtë.

Dallimi kryesor midis Runnable dhe Thread
Dallimi kryesor midis Runnable dhe Thread

Figura 04: Program Java me dy klasa që zgjerojnë klasën e temës

Sipas programit të mësipërm, të dyja klasat A dhe B po zgjerojnë klasën Thread. Të dyja klasat kanë zbatimin e tyre të metodës run(). Fillimi kryesor është ai që ekzekuton metodën main(). Përpara se filli kryesor të vdesë, ai krijon dhe fillon thread1 dhe thread2. Në kohën kur filli kryesor ka arritur në fund të metodës kryesore, tre fije janë duke ecur paralelisht. Nuk ka një rend specifik në të cilin fijet japin dalje. Pasi fillohet filli, është e vështirë të vendosësh se si do të ekzekutojnë. Ata vrapojnë në mënyrë të pavarur.

Cilat janë ngjashmëritë midis Runnable dhe Thread?

Të dy po përdorin për të krijuar një fill në Java

Cili është ndryshimi midis Runnable dhe Thread?

Runnable vs Thread

Runnable është një ndërfaqe në Java për të krijuar një thread që lejon shumë thread të ndajnë të njëjtin objekt thread. Fija është një klasë në Java për të krijuar një thread ku çdo thread ka një objekt unik të lidhur me të.
Kujtesa
Në Runnable, tema të shumta ndajnë të njëjtin objekt, kështu që kërkojnë më pak memorie. Në klasën Thread, çdo thread krijon një objekt unik, prandaj kërkon më shumë memorie.
Aftësia për zgjerim
Pas implementimit të ndërfaqes Runnable, ajo mund të zgjerojë një klasë. Trashëgime të shumta nuk mbështeten në Java. Pas zgjerimit të klasës Thread, ajo nuk mund të zgjerojë asnjë klasë tjetër.
Kodi i mirëmbajtjes
Ndërfaqja e ekzekutueshme e bën kodin më të mirëmbajtur. Në klasën Thread, mirëmbajtja kërkon kohë.

Përmbledhje – Runnable vs Thread

Një proces ndahet në nën-procese të shumta për të kryer disa detyra në të njëjtën kohë. Këto nënprocese njihen si thread. Instantimi i një thread mund të bëhet duke zbatuar ndërfaqen Runnable ose duke zgjeruar klasën e Thread. Është e lehtë të zgjerohet klasa Thread, por nuk është një praktikë më e mirë e Programimit të Orientuar në Objekt. Kur zbatohet Runnable, shumë thread mund të ndajnë të njëjtin objekt thread ndërsa në klasën e zgjerimit të Thread çdo thread ka një objekt unik të lidhur me të. Ky është ndryshimi midis Runnable dhe Thread. Në klasën Thread krijimi i shumë objekteve mund të konsumojë më shumë memorie.

Shkarkoni PDF-në e Runnable vs Thread

Mund të shkarkoni versionin PDF të këtij artikulli dhe ta përdorni për qëllime jashtë linje sipas shënimit të citimit. Ju lutemi shkarkoni versionin PDF këtu Diferenca midis Runnable dhe Thread

Recommended: