Je recherche l'utilisation de la bibliothèque parallèle de tâches pour un projet de travail que je fais et je veux comprendre les avantages/inconvénients des tâches longues. Je n'ai pas encore d'exemple concret, je veux juste comprendre la théorie derrière cela. D'après ce que les pages MSDN disent à propos de task schedulers et de cette SO question, il semblerait qu'il est préférable d'éviter autant que possible les tâches de longue durée afin de ne pas créer de threads en dehors de ThreadPool. Mais dites-vous a eu une tâche qui allait prendre beaucoup de temps pour compléter, au lieu de cela:Bibliothèque Parallèle des Tâches - Tâche Longue Distance vs Plusieurs Continuations
Task.Factory.StartNew(() => DoTimeConsumingWork(), TaskCreationOptions.LongRunning)
Pourriez-vous essayer de diviser votre travail en petites unités plus rapides de travail et utiliser des continuations de tâches, comme ceci:
Task.Factory
.StartNew(() => DoWorkPart1())
.ContinueWith(t => DoWorkPart2())
.ContinueWith(t => DoWorkPart3())
//...etc
Cette approche serait-elle plus avantageuse ou est-elle trop efficace pour ce qu'elle essaie d'accomplir?
Cela dépend vraiment de ce que vous entendez par * long *. –