Introduksjon til Java Flerstrengingsspørsmål og svar på intervjuer

Java er i boom i disse dager på grunn av sin uavhengige plattform. Det kan kjøres hvor som helst, og blir derfor brukt mye sammen med forskjellige kommende teknologier. For å være forberedt på det, er multi-threading et viktig tema som er fokusert på intervjuer. Så du har endelig funnet drømmejobben din i Java Multi-threading, men lurer på hvordan du kan knekke intervjuet og hva som kan være den sannsynlige Java Multi-threading Intervju spørsmål. Hvert intervju er forskjellig, og omfanget av en jobb er også annerledes. La oss gå gjennom noen viktige spørsmål om Java-intervjuer med flere tråder som kan stilles i Java Multi-threading-intervjuene du vil følge.

Nedenfor er de øverste Java-trådtrådene for intervjuer og svar

1. Hva er tråd i JAVA, og hvordan implementerer du det?

Svar:
En tråd hjelper forenkler multi-tasking og multi-prosessering i et program. Den bruker CPU effektivt og bidrar til å forbedre ytelsen til applikasjonen. Java gjør det mulig for brukeren å bruke flere tråder om gangen. Den kan kjøres parallelt med andre programmer uten avbrudd. Dette hjelper med å redusere tiden for prosessen. For eksempel, hvis et program tar 60 sekunder å utføre, kan vi bruke 6 tråder som vil gi oss resultatet på 10 sekunder.

Java gir to måter å implementere tråd i et program. interface java.lang.Runnable har en forekomst java.lang.A tråd som krever en oppgave å utføre gjennom en instans. Trådklassen implementerer allerede Runnable, slik at en bruker kan direkte overstyre run () -metoden ved å utvide trådklassen eller ved å implementere Runnable interface.

2.Når du skal bruke Runnable og når skal du bruke Tråd i Java?

Svar:
Java støtter ikke flere arv fra en klasse, men det gjør det mulig å implementere flere grensesnitt om gangen. Derfor vil det være bedre å implementere Runnable enn å utvide trådklassen.

3. Hvordan skiller du mellom en tråd og en prosess?

Svar:
En tråd er en delmengde av en prosess. En prosess kan ha flere tråder som kjører for den. Tråder kan kjøre hvilken som helst del av en prosess. En prosess har sin egen adresse der den er lagret, mens tråd deler adressen til prosessen som har opprettet den. Å lage en prosess er en hektisk prosess mens tråder lett kan opprettes. En tråd blir vanligvis referert til som en lett prosess. Interprosesskommunikasjon er vanskelig mens tråder enkelt kan kommunisere ved hjelp av Java-metodene for å vente () og varsle (). Prosesser er uavhengige, og derfor påvirker ikke eventuelle endringer i prosessen barneprosesser. Tvert imot, hvis det gjøres endringer i en tråd, er det muligheter for at andre tråder kan bli berørt.

4. Hvorfor sies det at trådoppførsel er uforutsigbar?

Svar:
Årsaken til dette er trådplanleggeren som håndterer utførelsen av tråder. Planleggeren kan ha ulik ytelse på forskjellige plattformer Windows, UNIX, LINUX osv. Mens du utfører den samme tråden, kan det gi forskjellige utganger på forskjellige plattformer og noen ganger til og med på den samme plattformen. For å løse dette kan en bruker opprette det samme kjørbare objektet, opprette løp () løkker i begge trådene og starte begge trådene sammen. Ideelt sett bør planleggeren plukke begge trådene sammen, og ytelsen skal ikke påvirkes, men begge trådene kommer inn i løkkene anonymt.

5. Hva er en flyktig variabel i Java, og hva er dens betydning?

Svar:
Java letter brukeren å dele variabler som er til stede i forskjellige tråder. En flyktig variabel fungerer som en spesiell modifikator som bare kan brukes for eksempel variabler. Ettersom denne variabelen er delt, vil det være konsistente endringer med den. Tråden må sikre at den har eksklusiv tilgang til disse variablene og en lås er tvunget til gjensidig utelukkelse av delte variabler. Det sikrer at en skriving vil skje før eventuell påfølgende lesing. Java-minnemodell sikrer konsistensen av denne variabelen. Flyktige metoder kan ikke være der, da de bare kan brukes i form av variabler.

6. Hva bruker det synkroniserte søkeordet? Hva er forskjellen mellom synkroniserte og flyktige søkeord?

Svar:
Det synkroniserte nøkkelordet brukes når formålet er å bare kjøre en tråd om gangen i en passende kodeseksjon. Den kan brukes til å vise fire typer forskjellige blokker som nedenfor:

1) Forekomstmetoder
2) Statiske metoder
3) Kodeblokker innsideformetoder
4) Kodeblokker i statiske metoder

Det kan erklæres som:

Eksempel på offentlig synkronisert tomrom () ()

Forskjellen mellom flyktige og synkroniserte nøkkelord er at synkronisert kan brukes med variabel og metoder, mens flyktige ikke kan brukes med metoder. Flyktige variabler lagres ikke i hurtigminnet, synkroniserte variabler lagres i hurtigminnet. En flyktig variabel vil aldri havne i dødpunkt, da den ikke krever å få noen lås. Mens de er i synkroniserte variabler, hvis de ikke blir gjort ordentlig, kan det ende i en dødvakt.

7. Hvorfor metoder som vente (), varsle () og varsle alle () er til stede i objektklasse og ikke i trådklasse?

Svar:
Objektklasse har skjermer som lar tråden låse et objekt, mens Tråden ikke har noen skjermer. Når en av metodene ovenfor kalles, venter den på at en annen tråd slipper gjenstanden og varsler skjermen ved å ringe varsling () eller varsle alle (). Når varslingsmetode kalles, gjør den jobben med å varsle alle tråder som venter på at gjenstanden skal slippes. Objektklassens monitor sjekker etter objektet om det er tilgjengelig eller ikke. Trådklasse som har disse metodene vil ikke hjelpe ettersom det finnes flere tråder på et objekt og ikke omvendt.

8. Forklar forskjellen mellom søvn () og vent () metoder.

Svar:
1) sleep () -metoden kalles på tråder og ikke objekter. Vent () -metoden kalles på objekter.
2) Når vent () -metoden kalles, flytter monitoren tråden fra løpende til ventetilstand. Når en tråd er i vente (), kan den bare flyttes til kjørbar når den har varslet () eller varslet alt () for det objektet. Planleggeren endrer tilstanden etter dette. Mens du er i dvale () -metode, endres tilstanden til å vente og vil gå tilbake til kjørbar først etter at søvntiden er over.
3) Vent () -metoden er en del av java.lang.Object-klassen, mens søvn () er en del av java.lang.Thread-klassen.
4) Vent () brukes alltid med en synkronisert blokk fordi det krever å låse en gjenstand mens søvn () kan brukes utenfra synkronisert blokk.

9. Hvordan tvinge start en tråd i Java?

Svar:
I Java kan multithreading en ikke tvinge til å starte en tråd. Bare trådplanlegger kan kontrollere tråder, og de blir ikke utsatt for noe API for kontroll.

10. Forlater tråden gjenstandslås når ventemetode () og søvnmetoder kalles?

Svar:
Når en tråd er i hvilemetode () -metoden, forlater den ikke låsen og beveger seg i ventetilstand. Tråden venter på at søvntiden skal komme over. Når vent () -metoden brukes, forlater tråden objektets lås og går i ventetilstand. Når varsling () heter, går den igjen til kjørestatus og skaffer seg låsen.

Anbefalt artikkel

Dette har vært en guide til Liste over Java-intervjuer-spørsmål og svar på flere tråder, slik at kandidaten enkelt kan slå sammen disse Java-trådtrådige intervjuspørsmål. Du kan også se på følgende artikler for å lære mer -

  1. Java Developer Interview Questions - How to Crack Top 7 Questions
  2. Omfattende guide til Java-apputvikling (Awesome Theory)
  3. Maven Intervju Spørsmål og svar | Topp og mest stilte
  4. 10 avanserte AngularJS intervjuspørsmål for erfarne