Et program i utførelse er kjent som en prosess. Prosessen kan deles inn i flere delprosesser. For eksempel er Microsoft Word en prosess. Samtidig kontrollerer den for stavefeil og grammatikk. Det er en delprosess. Disse delprosessene er kjent som tråder. Multithreading er prosessen med å utføre flere tråder samtidig. Gjengede applikasjoner kan bygges ved hjelp av forskjellige programmeringsspråk. Runnable og Thread er knyttet til Java programmering. Det finnes to metoder i Java for å lage en tråd ved å implementere et Runnable-grensesnitt eller forlenge klassen Tråd. Når du implementerer Runnable, kan mange tråder dele det samme trådobjektet i Extending Thread-klassen, hver tråd har en unik gjenstand knyttet til den. Det er det nøkkelforskjell mellom Runnable og Thread.
1. Oversikt og nøkkelforskjell
2. Hva er Runnable
3. Hva er tråden
4. Likheter mellom Runnable og Thread
5. Side ved side-sammenligning - Runnable vs thread i tabellform
6. Sammendrag
En tråd går gjennom noen stater. Den "nye" er begynnelsen på trådens livssyklus. Etter at startmetoden kalles på en ny tråd, blir den løpbar. Hvis trådplanleggeren velger tråden, går den videre til løpestatus. Tråden venter på staten hvis den tråden venter på en annen tråd for å utføre en oppgave. Etter at tråden fullfører arbeidet, går det til avslutningsstaten.
En tråd kan implementeres ved hjelp av Runnable-grensesnittet. Se underprogrammet nedenfor.
Figur 01: Java Program for å lage en tråd ved hjelp av Runnable-grensesnitt
I henhold til det ovennevnte programmet implementerer klassen Runnable Demo Runnable-grensesnittet. Kjør () -metoden er inne i klassen som implementerer Runnable-grensesnittet. Det er inngangspunktet for tråden. Logikken er i run () -metoden. I hovedprogrammet er det opprettet en tråd ved å definere en gjenstand som instanseres fra Runnable Demo-klassen. Det er t1. Startmetoden kalles ved hjelp av t1.
Se underprogrammet nedenfor.
Figur 02: Java-program for å lage en tråd for å utføre en loop, ved å implementere Runnable-grensesnittet
I følge eksemplet ovenfor implementerer klassen Runnable Demo Runnable-grensesnittet. Logikken som skal utføres ved bruk av tråden, er skrevet i run () -metoden. I hovedprogrammet er det opprettet en tråd ved å definere en gjenstand som instanseres fra Runnable Demo-klassen. Det er t1. Da kalles startmetoden () metoden t1.
Den andre metoden for å lage en tråd er ved å utvide trådklassen. Den består av tre trinn. Først er å erklære klassen som å utvide tråkklassen. Etterpå skal run () -metoden skrives. Den har sekvensen av trinnene tråden skal utføre. Til slutt blir trådobjektet opprettet, og start () -metoden kalles for å starte gjennomføringen av tråden. Se underprogrammet nedenfor.
Figur 03: Java-program som utvider gjengeklassen
I henhold til det ovennevnte programmet utvider MyThread-klassen Thread-klassen. Det overstyrer løpemetoden. Metoden run () inneholder logikken som skal utføres av tråden. Det er inngangen til tråden. Deretter opprettes trådobjektet. Det er thread1. Tråden er startet med startmetoden (). Det vil utføre en samtale for å kjøre () metode.
Et eksempel på to klasser som utvider tråkklassen er som følger.
Figur 04: Java-program med to klasser som utvider gjengeklassen
I henhold til det ovennevnte programmet, utvider både klasse A og B trådklasse. Begge klassene har sin implementering av run () -metoden. Hovedtråden er som kjører hovedmetoden (). Før hovedgruppen dør, oppretter den og starter thread1 og thread2. Da den viktigste tråden nådde slutten av hovedmetoden, kjører tre tråder parallelt. Det er ingen spesiell rekkefølge hvor trådene gir utgang. Når tråden er startet, er det vanskelig å bestemme hvilken rekkefølge de skal utføre. De kjører uavhengig.
Runnable vs Thread | |
Runnable er et grensesnitt i Java for å lage en tråd som lar mange tråder dele samme trådobjekt. | Tråden er en klasse i Java for å lage en tråd der hver tråd har en unik gjenstand som er knyttet til den. |
Hukommelse | |
I Runnable deler flere tråder det samme objektet, så krever mindre minne. | I tråkklassen oppretter hver tråd en unik gjenstand, og krever derfor mer minne. |
Utvidende evne | |
Etter å ha implementert Runnable-grensesnittet, kan det forlenge en klasse. | Flere arv støttes ikke i Java. Etter å ha utvidet Thread-klassen, kan den ikke forlenge noen annen klasse. |
Kode Vedlikehold | |
Runnable grensesnitt gjør kode mer vedlikeholdsbar. | I Thread-klassen er vedlikehold tidkrevende. |
En prosess er delt inn i flere delprosesser for å utføre flere oppgaver på samme tid. Disse delprosessene er kjent som tråder. Instantisering av en tråd kan gjøres ved å implementere Runnable-grensesnittet eller ved å utvide trådklassen. Det er enkelt å utvide Thread-klassen, men det er ikke en bedre objektorientert programmeringspraksis. Når du implementerer Runnable, kan mange tråder dele det samme trådobjektet mens du strekker seg i tråkklassen, hver tråd har en unik gjenstand tilknyttet den. Det er forskjellen mellom Runnable og Thread. I Genglass kan opprettelse av flere objekter øke mer minne.
Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til off-line formål som per sitatnotat. Vennligst last ned PDF-versjonen her Forskjellen mellom Runnable og Thread
1.tutorialspoint.com. "Java Multithreading." Poenget, Tilgjengelig her
2.Pramodbablad. "Utvider tråd Vs-implementeringer som kan runde i Java." Java-konseptet av dagen, 11. november 2016. Tilgjengelig her
3.Ways å lage en tråd i Java Multithreading | Core Java Tutorial | Studytonight. Tilgjengelig her