Differenza tra il sonno e l'attesa

Sleep vs Wait

Macchine come i computer usano un linguaggio artificiale per creare programmi, controllarli e consentire loro di comunicare istruzioni ed esprimere algoritmi. Questo linguaggio è chiamato linguaggio di programmazione.

Prima dell'avvento dei computer, i linguaggi di programmazione erano già stati utilizzati nei telai e nei pianoforti. Man mano che l'uso del computer diventava più comune, ora venivano utilizzati diversi linguaggi di programmazione.

Esistono diversi linguaggi di programmazione, inclusi linguaggi di alto livello come: BASIC, C, C ++, Fortran, Pascal e Java. Ogni macchina virtuale e CPU hanno il proprio linguaggio informatico, ciascuno con le proprie debolezze e punti di forza, e ogni macchina virtuale esegue un thread quando viene avviato. Questo thread esegue il codice dell'applicazione nel programma. Può far funzionare un programma più velocemente e aiutarne le prestazioni e l'utilità, specialmente quando si utilizzano più thread.

Le macchine virtuali, come la Java virtual machine, supportano un concetto multi-threading con thread con priorità più alta eseguiti prima su thread con priorità più bassa, assicurando l'equa divisione dell'elaborazione del tempo.

Utilizza metodi di gestione dei thread che possono creare, controllare e terminare il flusso di controlli o thread in uno spazio condiviso. Due di questi metodi di gestione dei thread sono i metodi wait e sleep.

Questi due metodi sono separati. Il metodo sleep controlla l'esecuzione del thread e ritarda l'azione successiva mentre il metodo wait non controlla l'esecuzione del thread per consentire l'esecuzione di altri thread.

Il metodo wait è definito nella classe Object e invia il thread corrente nello stato non eseguibile. Viene utilizzato insieme ai metodi notify e notifyAll per consentire la sospensione temporanea del codice di esecuzione di un oggetto e per riprenderlo successivamente.

Funziona chiamando un oggetto lock e lasciando che il thread corrente si sincronizzi con esso. Wait attiverà il blocco e inserirà il thread nella lista di attesa e consentirà ad altri thread di sincronizzarsi, facendo sì che il thread originale si riattivi. Il programmatore determina il momento specifico in cui l'esecuzione ricomincia.

Il metodo sleep, d'altra parte, è definito come un metodo statico. Ritarda l'esecuzione di thread e non oggetti e sospende il thread che viene eseguito. Invia i thread correnti nello stato non eseguibile per un certo periodo di tempo. Può influire sul comportamento delle applicazioni multi-thread perché mantiene i blocchi di sincronizzazione del thread corrente. Una volta che il thread si trova in un blocco sincronizzato, nessun altro thread può accedere al blocco.

Sommario:

1. "Sleep" è un metodo di gestione dei thread definito come metodo statico mentre "wait" è un metodo di gestione dei thread definito nella classe Object.
2.Sleep è un metodo che esegue i thread mentre wait è un metodo che esegue gli oggetti.
3.Sleep mantiene i blocchi di sincronizzazione del thread corrente e influenza il comportamento delle applicazioni mentre l'attesa no.
4.Sleep controlla l'esecuzione del thread e non consente altri thread in un blocco sincronizzato mentre wait non controlla l'esecuzione del thread per consentire l'esecuzione di altri thread.