Ce sont les deux seules questions auxquelles je n’ai pas pu répondre lors de l’interview qui m’a été rejetée hier soir.
Réponses
Trop de publicités?Vous devez utiliser le multithreading lorsque vous souhaitez effectuer des opérations lourdes sans « bloquer » le flux.
Exemple dans les interfaces utilisateur où vous effectuez un traitement lourd dans un thread d’arrière-plan mais l’interface utilisateur est toujours active.
Si les threads exécutent des tâches mutuellement exclusives, c’est le meilleur car il n’y a pas de surcharge pour la synchronisation entre les threads nécessaire
Vous devez absolument utiliser le multithreading dans les applications GUI lorsque vous appelez des tâches chronophages à partir de la boucle d’événement principale. Il en va de même pour l’application serveur qui peut bloquer lors de l’E/S.
Pour la deuxième question, c’est généralement oui lorsque vous avez une machine avec plusieurs cœurs de processeur. Dans ce cas, ces tâches indépendantes peuvent être exécutées en parallèle.
Vous pouvez utiliser le multithreading si les tâches peuvent être décomposées et exécutées en parallèle. Comme produire et consommer , Valider et enregistrer , Lire et Valider.
Pour la deuxième question , Oui, il est avantageux de transformer un programme en Multi threading s’ils exécutent des tâches indépendantes.