Forskel mellem søvn og vent Forskel mellem

Anonim

Sove vs Vent

Maskiner som sådan da computere bruger kunstigt sprog til at oprette programmer, styre dem og tillade dem at kommunikere instruktioner og ekspres algoritmer. Dette sprog kaldes programmeringssprog.

Forud for fremkomsten af ​​computere var programmeringssprog allerede blevet brugt i væve og klaverer. Da computerbrug blev mere almindeligt, var der nu flere programmeringssprog, der blev brugt.

Der findes flere computersprog, herunder sprog på højt niveau som: BASIC, C, C ++, Fortran, Pascal og Java. Hver virtuel maskine og CPU har sit eget computersprog, hver med sine egne svagheder og styrker, og hver virtuel maskine kører en tråd, når den startes. Denne tråd udfører programkoden i programmet. Det kan gøre et program køre hurtigere og hjælpe med deres ydeevne og brugervenlighed, især når flere tråde anvendes.

Virtuelle maskiner, som f.eks. Den virtuelle Java-maskine, understøtter et multi-threading-koncept med prioriterede tråde, der først udføres under prioriterede tråde, der sikrer en fair division af tidsbehandling.

Det bruger trådstyringsmetoder, som kan oprette, kontrollere og afslutte strømmen af ​​kontroller eller tråde i et delt rum. To af disse trådstyringsmetoder er ventetiden og sovemetoderne.

Disse to metoder er separate. Søvnmetoden styrer udførelsen af ​​tråden og forsinker den næste handling, mens ventemetoden ikke kontrollerer udførelsen af ​​tråden for at lade andre tråde køre.

Ventetiden er defineret i objektklassen og sender den aktuelle tråd til den ikke-løbende tilstand. Den bruges sammen med meddelelser og meddelelserAlle metoder til at lade eksekveringskoden for et objekt midlertidigt stoppe og genoptage det senere.

Det virker ved at kalde på en låsobjekt og lade den aktuelle tråd synkronisere med den. Vent vil frigøre lås og sætte tråden på ventelisten og lade andre tråde synkronisere med det, hvilket får den oprindelige tråd til at vågne op. Programmeringen bestemmer den specifikke tid, hvornår udførelsen starter igen.

Hvilemåden er derimod defineret som en statisk metode. Det forsinker udførelsen af ​​tråde og ikke genstande samt suspenderer tråden, der udføres. Den sender nogle aktuelle tråde til en ikke-løbende tilstand i en vis periode. Det kan påvirke adfærden af ​​applikationer, der er multi-threaded, fordi det holder synkronisering låse af den aktuelle tråd. Når tråden er i en synkroniseret blok, kan ingen anden tråd komme ind i blokken.

Sammendrag:

1. "Sleep" er en trådstyringsmetode, der defineres som en statisk metode, mens "vent" er en trådstyringsmetode, som er defineret i objektklassen.

2. Sleep er en metode, der udfører tråde, mens vent er en metode, der udfører objekter.

3. Sove holder synkroniseringslåsene for den aktuelle tråd og påvirker applikationernes adfærd, mens ventetiden ikke gør det.

4. Søvn styrer udførelsen af ​​tråden og tillader ikke andre tråde i en synkroniseret blok, mens ventetiden ikke kontrollerer udførelsen af ​​tråden for at lade andre tråde køre.