Nyckelskillnad - Runnable vs Thread
Ett program i utförande kallas en process. Processen kan delas in i flera delprocesser. Till exempel är Microsoft Word en process. Samtidigt kontrollerar den stavfelet och grammatiken. Det är en delprocess. Dessa underprocesser kallas trådar. Multitrådning är processen att köra flera trådar samtidigt. Trådade applikationer kan byggas med olika programmeringsspråk. Runnable och Thread är associerade med Java-programmering. Det finns två metoder i Java för att skapa en tråd genom att implementera ett körbart gränssnitt eller utvidga trådklassen. När du implementerar Runnable kan många trådar dela samma trådobjekt medan de är i klassen Extending Thread, varje tråd har ett unikt objekt associerat med sig. Det är den viktigaste skillnaden mellan Runnable och Thread.
INNEHÅLL
1. Översikt och nyckeldifferens
2. Vad kan köras
3. Vad är tråd
4. Likheter mellan körbar och tråd
5. Jämförelse sida vid sida - Körbar än tråd i tabellform
6. Sammanfattning
Vad är Runnable?
En tråd går igenom vissa stater. Det”nya” är början på trådens livscykel. Efter att start () -metoden anropar en ny tråd blir den körbar. Om trådschemaläggaren väljer tråden övergår den till körningstillståndet. Tråden väntar på tillståndet om den tråden väntar på att en annan tråd ska utföra en uppgift. När tråden har slutfört arbetet går den till avslutningstillståndet.
En tråd kan implementeras med Runnable-gränssnittet. Se nedanstående program.
Figur 01: Java-program för att skapa en tråd med Runnable-gränssnitt
Enligt programmet ovan implementerar klassen Runnable Demo Runnable-gränssnittet. Metoden run () finns i klassen som implementerar Runnable-gränssnittet. Det är ingångspunkten för tråden. Logiken är i run () -metoden. I huvudprogrammet skapas en tråd genom att definiera ett objekt som instantierades från Runnable Demo-klassen. Det är t1. Start () -metoden kallas med t1.
Se nedanstående program.
Figur 02: Java-program för att skapa en tråd för att utföra en loop genom att implementera Runnable-gränssnittet
Enligt exemplet ovan implementerar klassen Runnable Demo Runnable interface. Logiken som ska köras med tråden skrivs i run () -metoden. I huvudprogrammet skapas en tråd genom att definiera ett objekt som instantierades från Runnable Demo-klassen. Det är t1. Sedan kallas start () metoden med t1.
Vad är tråd?
Den andra metoden för att skapa en tråd är att utvidga trådklassen. Den består av tre steg. Det första är att förklara klassen som en utvidgning av trådklassen. Därefter ska metoden run () skrivas. Den har den sekvens av steg som tråden ska utföra. Slutligen skapas trådobjektet och metoden start () kallas för att initiera körningen av tråden. Se nedanstående program.
Figur 03: Java-program som utökar trådklassen
Enligt ovanstående program utökar MyThread-klassen trådklassen. Det åsidosätter körmetoden. Metoden run () innehåller logiken som ska köras av tråden. Det är ingången till tråden. Sedan skapas trådobjektet. Det är tråd1. Tråden startas med metoden start (). Det kommer att utföra en call to run () -metod.
Ett exempel på ett program med två klasser som utökar trådklassen är följande.
Figur 04: Java-program med två klasser som utökar trådklassen
Enligt ovanstående program utökar både klass A och B trådklassen. Båda klasserna har implementerat run () -metoden. Huvudtråden är vilken som kör huvudmetoden (). Innan huvudtråden dör skapas och startar tråd1 och tråd2. När huvudtråden nådde slutet på huvudmetoden går tre trådar parallellt. Det finns ingen specifik ordning i vilken trådarna ger utdata. När tråden har startats är det svårt att bestämma vilken ordning de ska utföra. De kör självständigt.
Vad är likheterna mellan körbar och tråd?
Båda använder för att skapa en tråd i Java
Vad är skillnaden mellan körbar och tråd?
Skilja artikeln mitt före bordet
Runnable vs Thread |
|
Runnable är ett gränssnitt i Java för att skapa en tråd som gör att många trådar kan dela samma trådobjekt. | Tråden är en klass i Java för att skapa en tråd där varje tråd har ett unikt objekt associerat med sig. |
Minne | |
I Runnable delar flera trådar samma objekt, så det kräver mindre minne. | I trådklassen skapar varje tråd ett unikt objekt och kräver därför mer minne. |
Utöka förmågan | |
Efter att ha implementerat Runnable-gränssnitt kan det utöka en klass. | Flera arv stöds inte i Java. Efter utvidgning av trådklassen kan den inte förlänga någon annan klass. |
Kodhållbarhet | |
Körbart gränssnitt gör koden mer underhållbar. | I trådklassen är det tidskrävande att underhålla. |
Sammanfattning - Runnable vs Thread
En process är uppdelad i flera delprocesser för att utföra flera uppgifter samtidigt. Dessa underprocesser kallas trådar. Att installera en tråd kan göras genom att implementera Runnable-gränssnittet eller genom att utvidga trådklassen. Det är lätt att utöka trådklassen, men det är inte en bättre objektorienterad programmeringsmetod. När du implementerar Runnable kan många trådar dela samma trådobjekt medan i utvidgning av trådklassen har varje tråd ett unikt objekt associerat med sig. Det är skillnaden mellan Runnable och Thread. I trådklassen kan flera objekt skapa mer minne.
Ladda ner PDF-filen för Runnable vs Thread
Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här Skillnaden mellan körbar och tråd