Forskel mellem kørsel og tråd

Nøgleforskel - Kan køres vs tråd
 

Et program under udførelse kaldes en proces. Processen kan opdeles i flere underprocesser. For eksempel er Microsoft Word en proces. På samme tid kontrollerer det for stavefejl og grammatik. Det er en underproces. Disse underprocesser er kendt som tråde. Multithreading er processen med at udføre flere tråde samtidigt. Trådede applikationer kan bygges ved hjælp af forskellige programmeringssprog. Runnable og thread er forbundet med Java-programmering. Der er to metoder i Java til at oprette en tråd ved at implementere en Runnable interface eller udvide tråden klassen. Når du implementerer Runnable, kan mange tråde dele det samme trådobjekt, mens i klassen Extending Thread har hver tråd et unikt objekt tilknyttet det. Det er den vigtigste forskel mellem Runnable og Thread.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er Runnable
3. Hvad er tråd
4. Ligheder mellem kørsel og tråd
5. Sammenligning side ved side - Kørbar vs tråd i tabelform
6. Resume

Hvad er Runnable?

En tråd går gennem nogle stater. Den "nye" er begyndelsen på trådens livscyklus. Når metoden start () kalder på en ny tråd, kan den køres. Hvis trådplanlæggeren vælger tråden, overføres den til kørselstilstand. Tråden venter på tilstanden, hvis den tråd venter på, at en anden tråd skal udføre en opgave. Når tråden er færdig med arbejdet, går den til ophørstilstanden.

En tråd kan implementeres vha. Runnable-grænsefladen. Se nedenstående program.

Figur 01: Java-program til oprettelse af en tråd ved hjælp af Runnable interface

I henhold til ovenstående program implementerer klassen Runnable Demo den Runnable interface. Køremetoden () er i klassen, der implementerer Runnable interface. Det er indgangspunktet for tråden. Logikken er i metoden kør (). I hovedprogrammet oprettes en tråd ved at definere et objekt, der er instantieret fra Runnable Demo-klassen. Det er t1. Start () -metoden kaldes ved hjælp af t1.

Se nedenstående program.

Figur 02: Java-program for at oprette en tråd til at udføre en løkke ved at implementere det Runnable-interface

I henhold til ovenstående eksempel implementerer klassen Runnable Demo Runnable interface. Logikken, der skal udføres ved hjælp af tråden, skrives i kør-metoden. I hovedprogrammet oprettes en tråd ved at definere et objekt, der er instantieret fra Runnable Demo-klassen. Det er t1. Derefter kaldes start () -metoden ved hjælp af t1.

Hvad er tråd?

Den anden metode til at oprette en tråd er ved at udvide tråden-klassen. Det består af tre trin. Det første er at erklære klassen som at udvide tråden. Bagefter skal køremetoden () skrives. Det har sekvensen af ​​trin, som tråden skal udføre. Endelig oprettes trådobjektet, og metoden start () kaldes for at starte udførelsen af ​​tråden. Se nedenstående program.

Figur 03: Java-program, der udvider trådklassen

I henhold til ovenstående program udvider MyThread-klassen trådklassen. Det tilsidesætter køremetoden. Køremetoden () indeholder metoden, der skal udføres af tråden. Det er indgangspunktet til tråden. Derefter oprettes trådobjektet. Det er tråd1. Tråden startes ved hjælp af metoden start (). Det udfører et opkald til at køre () -metoden.

Et eksempel på to klasser, der udvider trådklassen, er som følger.

Figur 04: Java-program med to klasser, der udvider trådklassen

I henhold til ovenstående program udvider både klasse A og B trådklassen. Begge klasser har deres implementering af køremetoden (). Hovedtråden er som udfører hovedmetoden (). Før hovedtråden dør, opretter den og starter tråd1 og tråd2. Da hovedtråden nåede slutningen af ​​hovedmetoden, kører tre tråde parallelt. Der er ingen specifik rækkefølge, i hvilke trådene giver output. Når tråden er startet, er det svært at beslutte den rækkefølge, de skal udføre. De kører uafhængigt.

Hvad er lighederne mellem kørsel og tråd?

  • Begge bruger til at oprette en tråd i Java.

Hvad er forskellen mellem kørsel og tråd?

Løbelig vs tråd

Runnable er en grænseflade i Java til at oprette en tråd, der giver mange tråde mulighed for at dele det samme trådobjekt. Tråden er en klasse i Java for at oprette en tråd, hvor hver tråd har et unikt objekt tilknyttet.
 Hukommelse
I Runnable deler flere tråde det samme objekt, så kræver mindre hukommelse. I trådklasse opretter hver tråd et unikt objekt, og kræver derfor mere hukommelse.
Udvide evnen
Efter implementering af Runnable interface kan det udvide en klasse. Flere arv understøttes ikke i Java. Efter udvidelse af trådklassen kan den ikke udvide nogen anden klasse.
 Kode vedligeholdelighed
Kørbar interface gør koden mere vedligeholdelig. I trådklasse er vedligeholdelse tidskrævende.

Resume - Kan køres vs tråd 

En proces er opdelt i flere underprocesser for at udføre flere opgaver på samme tid. Disse underprocesser er kendt som tråde. Instantiering af en tråd kan udføres ved at implementere det Runnable-interface eller ved at udvide trådklassen. Det er let at udvide trådklassen, men det er ikke en bedre objektorienteret programmeringspraksis. Ved implementering af Kørbar kan mange tråde dele det samme trådobjekt, mens hver tråd i en udvidelse af trådklassen har et unikt objekt, der er knyttet til det. Det er forskellen mellem Runnable og Thread. I trådklasse kan flere objekter skabes mere hukommelse.

Download PDF'en af ​​Runnable vs Thread

Du kan downloade PDF-version af denne artikel og bruge den til offline-formål som pr. Citatnotat. Download PDF-versionen her Forskel mellem kørsel og tråd

Reference:

1.tutorialspoint.com. “Java Multithreading.” Punktet, tilgængeligt her 
2.Pramodbablad. "Udvider tråd Vs-implementeringer, der kan køres i Java." Java Concept Of The Day, 11. november 2016. Tilgængelig her
3.Måder at oprette en tråd i Java Multithreading | Core Java-tutorial | Studytonight. Tilgængelig her