Différence entre sommeil et attente

Sommeil vs attente

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 s'appelle langage de programmation.

Avant l'avènement des ordinateurs, les langages de programmation étaient déjà utilisés dans les métiers à tisser et les pianos. L'utilisation de l'ordinateur devenant de plus en plus courante, plusieurs langages de programmation étaient utilisés.

Il existe plusieurs langages informatiques, notamment des langages de haut niveau tels que: BASIC, C, C ++, Fortran, Pascal et Java. Chaque machine virtuelle et chaque processeur a son propre langage informatique, chacun avec ses faiblesses et ses forces, et chaque machine virtuelle exécute un thread au démarrage. Ce fil exécute le code de l'application dans le programme. Cela peut rendre un programme plus rapide et contribuer à 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é supérieure exécutés en premier sur des threads de priorité inférieure, assurant ainsi une répartition équitable du traitement du temps..

Il utilise des méthodes de gestion des threads permettant de créer, de contrôler et de 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 sleep contrôle l'exécution du thread et retarde l'action suivante, tandis que la méthode wait ne contrôle pas l'exécution du thread pour laisser les autres thread s'exécuter..

La méthode wait est définie dans la classe Object et envoie le thread actuel à l'état non exécutable. Il est utilisé avec les méthodes notify et notifyAll pour laisser le code d'exécution d'un objet suspendre temporairement et le reprendre plus tard..

Cela fonctionne en appelant un objet verrou et en laissant le thread actuel se synchroniser avec celui-ci. Wait libère le verrou, place le thread dans la liste d'attente et laisse les autres threads se synchroniser avec celui-ci, provoquant l'activation du thread d'origine. Le programmeur détermine l'heure à laquelle l'exécution reprend.

La méthode sleep, quant à elle, est définie comme une méthode statique. Il retarde l'exécution des threads et non des objets, tout en suspendant le thread en cours d'exécution. Il envoie les threads en cours à l'état non exécutable pendant un certain temps. Cela peut affecter le comportement des applications multithreads car il conserve les verrous de synchronisation du thread actuel. Une fois que le thread est dans un bloc synchronisé, aucun autre thread ne peut entrer dans le bloc..

Résumé:

1. «Sleep» est une méthode de gestion des threads définie comme méthode statique, tandis que «wait» correspond à une méthode de gestion des threads définie dans la classe Object..
2.Sleep est une méthode qui exécute des threads tandis que wait est une méthode qui exécute des objets..
3.Sleep conserve les verrous de synchronisation du thread actuel et influe sur le comportement des applications sans que l'attente ait lieu..
4.Sleep contrôle l'exécution du thread et n'autorise pas les autres threads d'un bloc synchronisé tandis que wait ne contrôle pas l'exécution du thread pour laisser les autres threads s'exécuter..