Verschil tussen slaap en wacht

Slaap tegen wachten

Machines zoals computers maken gebruik van kunstmatige taal om programma's te maken, deze te besturen en hen in staat te stellen instructies over te brengen en algoritmen uit te drukken. Deze taal wordt programmeertaal genoemd.

Vóór de komst van computers waren programmeertalen al in weefgetouwen en piano's gebruikt. Naarmate het computergebruik algemener werd, werden er nu verschillende programmeertalen gebruikt.

Er zijn verschillende computertalen waaronder talen op hoog niveau, zoals: BASIC, C, C ++, Fortran, Pascal en Java. Elke virtuele machine en CPU heeft zijn eigen computertaal, elk met zijn eigen zwakheden en sterke punten, en elke virtuele machine voert een thread uit bij het opstarten. Deze thread voert de toepassingscode in het programma uit. Het kan ervoor zorgen dat een programma sneller werkt en helpt bij het verbeteren van hun prestaties en bruikbaarheid, vooral wanneer meerdere threads worden gebruikt.

Virtuele machines, zoals de virtuele Java-machine, ondersteunen een multi-threading concept met draden met hogere prioriteit die eerst worden uitgevoerd over draden met een lagere prioriteit, waardoor een eerlijke verdeling van tijdverwerking wordt gegarandeerd.

Het maakt gebruik van methoden voor threadbeheer die de stroom van besturingselementen of threads in een gedeelde ruimte kunnen maken, beheren en beëindigen. Twee van deze methoden voor draadbeheer zijn de wacht- en slaapmethoden.

Deze twee methoden zijn gescheiden. De slaapmethode bestuurt de uitvoering van de thread en vertraagt ​​de volgende actie, terwijl de wachtmethode de uitvoering van de thread niet regelt om andere threads te laten lopen.

De wachtmethode wordt gedefinieerd in de klasse Object en verzendt de huidige thread naar de status niet-uitvoerbaar. Het wordt gebruikt in combinatie met notify and notifyAll-methoden om de uitvoeringscode van een object tijdelijk te laten pauzeren en later te hervatten.

Het werkt door een slotobject aan te roepen en de huidige thread ermee te laten synchroniseren. Wacht zal het slot loslaten en zal de draad in de wachtlijst zetten en andere threads hiermee laten synchroniseren waardoor de originele draad wakker wordt. De programmeur bepaalt het specifieke tijdstip waarop de uitvoering opnieuw start.

De slaapmethode daarentegen is gedefinieerd als een statische methode. Het vertraagt ​​de uitvoering van threads en niet objecten en onderbreekt de thread die wordt uitgevoerd. Het stuurt huidige threads gedurende een bepaalde periode in de niet-actieve status. Het kan van invloed zijn op het gedrag van toepassingen met meerdere threads omdat het de synchronisatiesloten van de huidige thread behoudt. Zodra de thread zich in een gesynchroniseerd blok bevindt, kan geen andere thread het blok betreden.

Samenvatting:

1. "Slaapstand" is een threadbeheermethode die wordt gedefinieerd als een statische methode, terwijl "wachten" een threadbeheermethode is die is gedefinieerd in de klasse Object.
2.Sleep is een methode die threads uitvoert terwijl wait een methode is waarmee objecten worden uitgevoerd.
3.Sleep houdt de synchronisatiesloten van de huidige thread en beïnvloedt het gedrag van applicaties terwijl wachten niet werkt.
4.Sleep beheert de uitvoering van de thread en staat geen andere threads in een gesynchroniseerd blok toe terwijl wait niet de uitvoering van de thread regelt om andere threads te laten lopen.