Top 10 multithreading-interviewspørgsmål i Java (Opdatering til 2019)

Indholdsfortegnelse:

Anonim

Introduktion til multithreading interviewspørgsmål og svar i Java

I Java defineres multithreading som processen med at udføre to eller flere eller flere tråde på samme tid. Den bruges til at gøre processen hurtigere og i henhold til systemkapacitet. Det bruges til at behandle de mindste enheder parallelt for at opnå tingene hurtigt og gøre processen hurtigere. Det hjælper med at spare hukommelse og tid. Det bruges hovedsageligt til animation, spil og store applikationer.

Nu, hvis du leder efter et job, der er relateret til Multithreading i java, skal du forberede dig til 2019 Multithreading Interview Spørgsmål i Java. Det er sandt, at hvert interview er forskelligt i henhold til de forskellige jobprofiler. Her har vi forberedt de vigtige multithreading-interviewspørgsmål i Java med deres svar på det, som vil hjælpe dig med at få succes i dit interview.

I denne 2019 multithreading-interviewspørgsmål i Java-artikel skal vi præsentere 10 vigtigste og ofte stillede multithreading-interviewspørgsmål i java. Disse interviewspørgsmål er delt i to dele er som følger:

Del 1 - Multithreading-interviewspørgsmål i Java (Basic)

Denne første del dækker grundlæggende multithreading interviewspørgsmål og svar i Java.

Q1. Forklar de forskellige trådtilstande?

Svar:
Trådens tilstand kaldes også livscyklus for en tråd. Nedenfor er de forskellige trådtilstande:

  • Nyt: Det betyder, at tråden er i ny tilstand og har brug for at oprette forekomsten af ​​trådklasse før påkaldelse af startmetode.
  • Kørbar: Efter påkaldelse af startmetoden er tråden i kørbar tilstand, og planlæggeren har ikke valgt, at den kører tråd.
  • Kørsel: Når den valgte trådplanlægning er, er den i kørende tilstand.
  • Blokeret: Det er også kendt som Ikke-kørbar. Når tråden ikke er berettiget til at køre, men tråden stadig lever.
  • Termineret: Dette er den tilstand, når den forlader køremetoden eller i død tilstand.

Q2. Hvad er tråden i java?

Svar:
Tråden refererer til en lille enhed, der tager mindre tid at få den udført. Det er hovedsageligt uafhængigt af udførelsesvejen. Det er en af ​​måderne at drage fordel af flere CPU'er til rådighed på maskinen. Ved hjælp af flere tråde bliver processen med CPU-opgaven hurtigere. Java bruges hovedsageligt til at yde support til multithreading.

Lad os gå til de næste multithreading Interview spørgsmål i Java.

Q3. Forklar forskellen mellem tråd og proces i JAVA?

Svar:
Tråden er den mindste udførelsesopgave i processen. Processen er et selvstændigt eksekveringsmiljø med mere end en tråd eller flere tråde. Tråde er underinddelingen af ​​processen. Tråden har direkte adgang til datasegmentet i processen, mens processen har en egen kopi af datasegmentet. Tråd delte hovedsageligt den adresse, der oprettes af processen, og processen har deres egen adresse. Tråden kan let oprettes, og processoprettelse har brug for en masse ting at gøre. Tråden kan let kommunikere med andre tråde, hvorimod processen let kan kommunikere til børneprocessen, men interprocesskommunikation er vanskelig. Tråden har sin egen stak, hvorimod processen deler hukommelsesressourcerne som heap-hukommelse osv. I tråden, hvis der er foretaget nogen ændring, vil det påvirke alle tråde, men i processen påvirker den ikke andre processer.

Q4. Forklar om Java-hukommelsesmodel?

Svar:
Dette er de almindelige multithreading Interview-spørgsmål i Java, der stilles i et interview. Flere opgaver skal normalt følges af en multithreading-tester i den nuværende IT-branche.

Java-hukommelsesmodellen har et vist sæt regler, der skal følges for, at Java-programmer skal opføre sig på en bestemt måde på tværs af al multiple hukommelsesarkitektur, CPU og operativsystem, der spiller en vigtig rolle i multithreading. Java-hukommelsesmodel hjælper med at skelne de ændringer, der er foretaget i en af ​​tråden, og denne ændring skal også være synlig for andre tråde. I denne model er der en programordre-regel, der siger, at hver handling i tråd sker før hver handling i tråden, der kommer senere i programrækkefølge.

Q5. Forklar brugen af ​​Flygtig variabel i Java Multithreading?

Svar:
Flygtig søgeord eller variabel bruges til at sikre, at delte eller forekomstvariabler konstant opdateres, hver gang ændringer foretages af flere tråde. Det er en speciel modifikator, der kun kan bruges med forekomstvariabler. Dette nøgleord kan ikke bruges med metoder. Hvis feltet i java er erklæret som flygtigt, sikrer Java-hukommelsesmodel, at alle tråde skal have ensartet værdi for denne variabel. Værdien af ​​den flygtige variabel læses altid fra hovedhukommelsen. Det reducerer også risikoen for fejl i hukommelseskonsistensen. Java-flygtig variabel, der er en objektreference, kan være null. Det flygtige nøgleord skal bruges, hvis variablen bruges på tværs af flere tråde.

Del 2 - Multithreading Interview spørgsmål i Java (Advanced)

Lad os nu se på de avancerede multithreading Interview Interviews og svar i Java.

Q6. Forklar løbets tilstand i tråde?

Svar:
Løbstilstanden opstod, når der er et løb mellem flere tråde. Denne løbstilstand skyldes hovedsageligt på grund af nogle programmeringsfejl eller fejl. Tråden, som først skal udføres, mistede løbet og derefter udførte den anden og nogle ændringer i adfærdskoden, der kaldes ikke-deterministiske bugs. Det bliver en af ​​de svære bugs at finde ud af og gengive på grund af trådernes tilfældige natur.

Q7. Forklar ramme om gaffel-sammenføjning i Java?

Svar:
Rammen til gaffelforbindelse introduceres i JDK7. Det er et kraftfuldt værktøj for Java-udvikler at drage fordel af flere processorer af nutidens verdensservere. Det er hovedsageligt designet til arbejde, der kan opdeles i mindre stykker. Det vigtigste mål er at bruge den tilgængelige behandlingskraft til at hæve applikationsydelsen. Den anvendte hovedsageligt algoritmen til arbejdsstjælkning.

Lad os gå til de næste multithreading Interview spørgsmål i Java.

Q8. Forklar trådpuljen og dens anvendelse i Java?

Svar:
Trådpuljen er kendt som en trådpool. Tråden kaldes generelt som en arbejdertråd. Oprettelsen af ​​en tråd er kostbar på mange måder som tid og ressource. Når du opretter tråden på tidspunktet for anmodning om processen, sænker den generelt processorens responstid, og kun en vis grænse i et antal tråde kan oprettes. Så på grund af disse to store problemer er trådpuljen blevet oprettet. I Java tillader Java API os at oprette forskellige typer trådpulje som en enkelt trådpool, som kun tager én proces ad gangen. Den anden er en fast trådpulje, der tager et fast antal tråde. Derefter er der en cachelagret trådpulje, der er udvidelig trådpulje og hovedsageligt egnet til applikationer til mange opgaver.

Q9. Hvordan kan dataene deles mellem tråden?

Svar:
Dette er de mest populære multithreading-interviewspørgsmål i Java, der stilles i et interview. Nogle populære testsager i den nuværende it-branche.

Dataene kan deles mellem tråde ved hjælp af at bruge det delte objekt eller samtidig datastruktur som Blokeringskø. Det følger hovedsageligt producent-forbrugermønsteret ved hjælp af vent og giver besked om metoder, der involverer deling af objekt mellem de to tråde.

Q10. Hvordan tråde distribueres i hukommelse med stack og bunke?

Svar:
I Java har hver tråd sin egen stak, der bruges til at gemme lokale variabler, metodeparameter og opkaldsstabel. Heap-hukommelse er en almindelig hukommelse, der deles af alle trådene.

Anbefalede artikler

Dette har været en guide til listen over multithreading-interviewspørgsmål og svar i java, så kandidaten let kan nedbryde disse Multithreading Interview-spørgsmål i Java. Her i dette indlæg har vi studeret de øverste multithreading-interviewspørgsmål i Java, som ofte stilles i interviews. Du kan også se på de følgende artikler for at lære mere -

  1. Spørgsmål til flertrådssamtaler
  2. Java Servlet-interviewspørgsmål
  3. JSP Interview Spørgsmål
  4. QlikView Interview spørgsmål
  5. Vejledning til Servlet-interviewspørgsmål