Différence entre le sommeil et l'attente

Différence entre le sommeil et l'attente

Dormir vs attendre

Des machines telles que les ordinateurs utilisent un langage artificiel pour créer des programmes, les contrôler et leur permettre de communiquer des instructions et d'exprimer des algorithmes. Ce langage est appelé langage de programmation.

Avant l'avènement des ordinateurs, les langages de programmation avaient déjà été utilisés dans les métiers à tisser et les pianos. À mesure que l'utilisation d'ordinateurs devenait plus courante, il y avait maintenant plusieurs langages de programmation utilisés.

Il existe plusieurs langages informatiques, y compris des langues de haut niveau telles que: Basic, C, C ++, Fortran, Pascal et Java. Chaque machine virtuelle et CPU a son propre langage informatique, chacun avec ses propres faiblesses et forces, et chaque machine virtuelle exécute un fil au démarrage. Ce thread exécute le code d'application dans le programme. Il peut faire fonctionner un programme plus rapidement et aider dans leurs performances et leur utilité, en particulier lorsque plusieurs threads sont utilisés.

Les machines virtuelles, telles que la machine virtuelle Java, prennent en charge un concept multi-threading avec des threads de priorité plus élevés exécutés d'abord sur des threads prioritaires plus basses assurant la division équitable du traitement du temps.

Il utilise des méthodes de gestion de threads qui peuvent créer, contrôler et terminer le flux de contrôles ou de threads dans un espace partagé. Deux de ces méthodes de gestion des threads sont les méthodes d'attente et de sommeil.

Ces deux méthodes sont séparées. La méthode de sommeil contrôle l'exécution du thread et retarde l'action suivante tandis que la méthode d'attente ne contrôle pas l'exécution du thread pour laisser les autres threads s'exécuter.

La méthode d'attente est définie dans la classe d'objets et envoie le thread actuel dans l'état non exécutable. Il est utilisé avec notifier et notifier les méthodes pour permettre au code d'exécution d'un objet une pause temporairement et de le reprendre plus tard.

Il fonctionne en appelant sur un objet de verrouillage et en laissant le thread actuel se synchroniser avec lui. Wait libérera le verrou et mettra le fil dans la liste d'attente et laissera les autres threads se synchroniser avec lui provoquant le réveil du fil d'origine. Le programmeur détermine l'heure spécifique au moment où l'exécution recommence.

La méthode de sommeil, en revanche, est définie comme une méthode statique. Il retarde l'exécution des threads et non des objets ainsi que de suspendre le thread qui est en cours d'exécution. Il envoie des threads actuels dans l'état non coulable pendant une certaine période de temps. Il peut affecter le comportement des applications qui sont multi-threades car il maintient les verrous de synchronisation du thread actuel. Une fois le thread dans un bloc synchronisé, aucun autre thread ne peut entrer dans le bloc.

Résumé:

1.«Sleep» est une méthode de gestion de threads définie comme une méthode statique tandis que «Wait» est une méthode de gestion de threads qui est définie dans la classe d'objets.
2.Le sommeil est une méthode qui exécute des threads pendant que l'attente est une méthode qui exécute des objets.
3.Le sommeil maintient les verrous de synchronisation du thread actuel et influence le comportement des applications tandis que l'attente ne.
4.Le sommeil contrôle l'exécution du thread et ne permet pas d'autres threads dans un bloc synchronisé pendant que l'attente ne contrôle pas l'exécution du thread pour laisser d'autres threads s'exécuter.