. .NET Framework est une bibliothèque de classes d’exécution pour C#, . .NET est un environnement multithread. Un thread est un processus de contrôle séquentiel unique dans un processus. Un fil est une entité dans un processus. Un processus peut avoir plusieurs threads, et un thread doit avoir un processus parent.
Les threads ont généralement trois états de base : lecture, blocage et opération. À partir des trois états de base, cinq opérations de base des threads sont dérivées. D’abord, dériver, les threads sont dérivés au sein d’un processus. Ensuite, planifier, sélectionner un thread prêt pour entrer dans l’état d’opération. Troisièmement, bloquer : si un thread doit attendre qu’un événement se produise pendant l’exécution, il sera bloqué. Quatrièmement, débloquez, si l’événement commence, le thread est débloqué, entrant dans la file prête. Cinquièmement, terminer, le thread se termine, et le contexte des registres ainsi que le contenu de la pile qu’il a exécutés sont libérés.
Un nouveau thread est un objet thread nouvellement généré qui n’a pas encore alloué de ressources. Par conséquent, vous ne pouvez utiliser que les méthodes start() ou close().
L’état rable est lorsque le thread obtient les ressources nécessaires après l’exécution de la méthode start() et appelle la méthode run() pour exécuter.
L’état Non Rable est un état qui entre lorsque les événements suivants se produisent, la méthode suspend() est appelée, la méthode sleep() est appelée, le thread utilise wait() pour attendre la variable condition, et le thread attend l’E/S.
Mort est lorsque la méthode Run() revient, ou qu’un autre thread appelle la méthode stop(), et que le thread entre en état mort. Voici deux exemples simples de Thread.
Résumé : Pourquoi utiliser Thread (multi-threading) ? C’est pour éviter de bloquer le thread principal ; si vous devez traiter une grande quantité de données ou appeler une méthode chronophage, nous devons utiliser le multithreading Thread.
Exemple:
Ne pas utiliser le multithreading : L’interface ne répond pas... C’est parce que le multithreading n’est pas utilisé
|