64 votes

Quand devriez-vous utiliser le multithreading ? Et le multi threading serait-il bénéfique si les différents threads exécutaient des tâches mutuellement indépendantes ?

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.

16voto

Cratylus Points 21838

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

9voto

JooMing Points 500

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.

6voto

java_mouse Points 810

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X