C # sommeil

C # sommeil

En C Sharp, nous utilisons du fil pour effectuer différentes tâches dans le système d'exploitation. Ces threads peuvent remplir de nombreuses fonctions en fonction de la tâche que nous avons attribuée. Chaque tâche est effectuée en fonction de la priorité. À la fois, plus d'un thread est le traitement, ce qui fait que le processeur. Ainsi, tout en priorisant les tâches dans le multithreading, nous utilisons une méthode qui suspend un thread temporairement pendant un certain temps, ce qui le reposait pendant un certain temps.

Après cela, ces fils suspendus ont effectué le processus. Cela se fait grâce à une méthode de sommeil. En C Sharp, la méthode de sommeil saisit l'exécution actuelle du fil pour les millisecondes spécifiées dans le programme. Une méthode sleep () peut être utilisée de deux manières.

  • Sommeil (misecondes);
  • Sommeil (Timespan);

Ce guide utilisera les deux méthodes pour expliquer le concept de la fonction Sleep () en threading en utilisant C Sharp dans le système d'exploitation Linux.

Syntaxe

# Sleep statique public (int millisecondes);

La variable INT Type pour les millisecondes contient un nombre en millisecondes pour suspendre le thread pour cette heure spécifiée.

Lors de l'initialisation de l'heure en millisecondes en tant que paramètre pour la fonction de sommeil, si la valeur de l'argument de la milliseconde est nulle, le thread appellera un autre processus avec la priorité égale prête à être exécutée. Si aucun autre thread n'a la même priorité, alors l'exécution du premier thread n'est pas cessé et continue d'exécuter.

Exemple 1: fonction de sommeil avec des millisecondes

Comme nous le savons, la méthode du sommeil est concernée par le processus de lecture multithre. Les threads sont une partie importante de notre système d'exploitation qui porte de nombreuses fonctions à la fois, effectuant un multitâche. Comme décrit ci-dessus, la fonction de sommeil aide à hiérarchiser la tâche en donnant un peu de repos à un thread dans le multithreading. Le même concept sera effectué dans cet exemple. Pour continuer l'exemple, nous expliquerons d'abord l'utilisation des bibliothèques. La bibliothèque système est destinée aux classes, objets et autres types de conteneurs. Alors que le système.Le threading est une bibliothèque supplémentaire qui sera incluse spécifiquement pour le processus de threading.

# Utilisation du système;
# Utilisation du système.Filetage;

Deux fonctions sont déclarées ici avec Thread1 () et Thread2 (). Les deux fonctions sont non statiques. Cela signifie qu'ils ne sont pas hérités ou ne peuvent être utilisés dans aucune autre classe. En d'autres termes, les deux fonctions sont indépendantes. À l'intérieur de la première fonction, thread1 (), nous avons utilisé une boucle pour une boucle qui ne sera que deux fois et afficher le message que Thread1 fonctionne. À l'intérieur de la boucle, la méthode Sleep () est utilisée. Ceci est utilisé pour mettre en pause le fonctionnement du fil pendant un certain temps. Nous avons déclaré cette fonction en 4 secondes.

Ainsi, en utilisant la méthode de sommeil, le fonctionnement du fil sera saisi pendant 4 secondes.

# Fil.Sommeil (4000);

Cette méthode de thread est accessible via le fil lui-même.

De même, une autre fonction est déclarée, qui est un thread (). Cela contient également une boucle «pour» afin qu'il puisse également itérer deux fois, et chaque fois qu'il affiche le message que Thread2 fonctionne. Cette méthode est également une méthode non statique. Là, nous n'utiliserons pas la fonction de sommeil à l'intérieur de la boucle.

Après les deux méthodes, nous déclarerons le programme principal. Comme les fils de C Sharp sont déclarés dans la classe, il est obligatoire de créer l'instance du fil. Cette instance d'objet sera utilisée pour créer les threads en outre. Le nom de la classe sera mentionné.

# ExampleOfThread obj = new ExampleOfThread ();

La méthode Mythread sera créée. Nous utiliserons cet objet pour créer les threads, puis les initialiser.

En utilisant deux instructions annexées, les objets pour les threads sont créés. Après cela, nous commencerons les threads en utilisant les objets thr1 et thr2.

# Thr1.commencer();
# Thr2.commencer();

Enregistrez maintenant le fichier. Et nous utiliserons un compilateur pour compiler le code source ci-dessus. Ce sont des MC utilisés pour la compilation en C Sharp. De plus, après la compilation, l'exécution du code a lieu. Mono est utilisé pour exécuter le code avec le .Extension EXE du fichier, ce qui le rend exécutable.

Fichier $ MCS.CS
$ mono fichier.exe

Lors de l'exécution du code, vous pouvez voir que les premier et deuxième threads sont exécutés, et le premier thread est exécuté plus tard, tandis que l'objet du premier thread est créé avant le second. Et le premier thread commence d'abord plutôt que le deuxième fil. C'est à cause de la fonction de sommeil que nous avons utilisée dans la première boucle de thread.

Ce programme fonctionnera de sorte que lorsque le premier thread est appelé au démarrage, la fonction de sommeil est initialisée et que le fil se dort pendant 4 secondes. Le deuxième thread est exécuté et affiche l'instruction 2 fois selon la boucle. Pendant ce temps, la fonction de sommeil a terminé son temps de 4 secondes. Alors maintenant, il sera traité et affichera la déclaration deux fois.

Exemple 2: Fonction de sommeil à l'aide de Timespan

Cet exemple utilise un temps de temps quelques secondes. Chaque instruction à l'intérieur de la fonction de thread sera exécutée avec un écart dans le temps pour la période spécifiée. Cela nous montre que le fil dort pendant une période spécifique. Voyons ce concept en démontrant un exemple. À l'intérieur de la classe, dans le programme principal, nous déclarerons d'abord la valeur de délai d'expiration de la variable. Cette valeur est déclarée dynamiquement en utilisant le «nouvel» opérateur. Le mot-clé Timespan montre que la variable de délai d'expiration est de type timepan.

# Timepan timeout = new TimesPan (0, 0, 3);

Nous utiliserons une boucle pour itérater jusqu'à ce que l'itération atteigne la troisième fois. La boucle affichera le message que le fil dort pendant 3 secondes. À l'intérieur de la boucle FOR, nous utiliserons la méthode de sommeil de Timespan. Cette méthode sera appelée via le thread et contiendra le temps de temps comme paramètre.

# Fil.sommeil (délai d'attente);

Une instruction de la console affichera le message que le thread principal sort à l'extérieur de la boucle.

Lorsque nous exécutons le code, le premier message s'affichera. Ensuite, il y aura une pause de 3 secondes; Là encore, une autre ligne s'affiche. De même, cette ligne est affichée après 3 secondes.

Alors que la dernière ligne est déclarée à l'extérieur du corps de la boucle, le fil principal apparaîtra brusquement après la troisième ligne. Nous n'avons pas utilisé la méthode du sommeil pour cette dernière ligne.

Conclusion

La méthode Sleep () en C Sharp est utilisée pour cesser le processus pendant quelques secondes ou pour faire s'exécuter le processus après une pause spécifiée. Cette suspension de l'exécution pendant quelques secondes est bonne pour le fonctionnement des threads dans le système d'exploitation, car il fait un fil d'attente et repose pendant un certain temps pour fonctionner plus tard efficacement. Deuxièmement, il donne une chance aux autres threads pour être exécuté dans cet intervalle de temps. Cette méthode de sommeil est efficace à utiliser pendant que le CPU est multitâche. Les deux méthodes de fonction de sommeil sont utilisées à travers les millisecondes et à travers le temps de temps.