Forskjell mellom søvn og vent Forskjellen mellom

Anonim

Sov vs vent

Maskiner som som datamaskiner bruker kunstig språk til å lage programmer, kontrollere dem, og la dem kommunisere instruksjoner og uttrykke algoritmer. Dette språket kalles programmeringsspråk.

Før bruk av datamaskiner, hadde programmeringsspråk allerede blitt brukt i vev og pianoer. Etter hvert som bruk av datamaskinen ble vanlig, var det nå flere programmeringsspråk som ble brukt.

Det finnes flere dataspråk, inkludert språk på høyt nivå, for eksempel: BASIC, C, C ++, Fortran, Pascal og Java. Hver virtuell maskin og CPU har sitt eget dataspråk, hver med sine egne svakheter og sterke sider, og hver virtuell maskin kjører en tråd når den startes. Denne tråden utfører programkoden i programmet. Det kan føre til at et program kjører raskere og hjelper i deres ytelse og brukbarhet, spesielt når flere tråder blir brukt.

Virtuelle maskiner, for eksempel den virtuelle Java-maskinen, støtter et multi-threading-konsept med høyere prioritetstrenger som først er utført over lavere prioritetstrenger, og sikrer en rettferdig deling av tidsbehandling.

Den bruker trådstyringsmetoder som kan skape, kontrollere og avslutte strømmen av kontroller eller tråder i en felles plass. To av disse trådstyringsmetodene er ventetiden og sovemetoder.

Disse to metodene er separate. Søvemetoden styrer utførelsen av tråden og forsinker neste handling mens ventemetoden ikke kontrollerer gjennomføringen av tråden for å la andre tråder løpe.

Ventemetoden er definert i Objeklassen og sender den nåværende tråden til uopprettelig tilstand. Den brukes sammen med å varsle og varsle.Alle metoder for å la utførelsenskoden til et objekt midlertidig stoppe og for å gjenoppta det senere.

Det fungerer ved å ringe på en låsobjekt og la den gjeldende tråden synkronisere med den. Vent vil frigjøre låsen og vil sette tråden på ventelisten og la andre tråder synkronisere med den som forårsaker at den opprinnelige tråden blir våken. Programmereren bestemmer spesifikk tid når utførelsen starter igjen.

Hvilemåten er derimot definert som en statisk metode. Det forsinker utførelsen av tråder og ikke objekter, samt suspenderer tråden som blir utført. Den sender nåværende tråder til en ikke-runnbar tilstand i en viss periode. Det kan påvirke oppførselen til applikasjoner som er multi-threaded fordi det holder synkronisering låser av gjeldende tråd. Når tråden er i en synkronisert blokk, kan ingen annen tråd komme inn i blokken.

Sammendrag:

1. "Sleep" er en trådstyringsmetode som er definert som en statisk metode, mens "vent" er en trådstyringsmetode som er definert i Objeklassen.

2. Søvn er en metode som utfører tråder mens venting er en metode som kjører objekter.

3. Sove holder synkroniseringslåsen til gjeldende tråd og påvirker oppførselen til programmer mens ventetiden ikke gjør det.

4. Søvn kontrollerer utførelsen av tråden og tillater ikke andre tråder i en synkronisert blokk mens ventetiden ikke kontrollerer utførelsen av tråden for å la andre tråder løpe.