J'ai besoin de créer plusieurs threads de traitement dans une nouvelle application. Chaque fil a la possibilité d'être "long". Quelqu'un peut-il commenter la viabilité du pool de threads .net intégré ou d'un pool de threads personnalisé existant à utiliser dans mon application?Threadpool, ordre d'exécution et opérations de longue durée
Exigences:
fonctionne bien dans un service Windows. (le travail en attente peut être retiré de la file d'attente, les threads en cours d'exécution peuvent être appelés à s'arrêter)
Possibilité de lancer plusieurs threads.
Le travail doit être démarré dans un ordre séquentiel, mais plusieurs threads peuvent être traités en parallèle.
Les fils suspendus peuvent être détectés et détruits.
EDIT:
Commentaires semblent être menant à filetage manuel. Malheureusement, je suis tenu à la version 3.5 du cadre. Threadpool était attrayant car il me permettait de faire la queue et de créer des fils de discussion lorsque les ressources étaient disponibles. Existe-t-il un bon pattern compatible avec le 3.5 (producteur/consommateur peut-être) qui me donnerait cet aspect de threadpool sans réellement utiliser le threadpool?
Un TP qui peut tuer de manière fiable threads sans déstabiliser sérieusement l'application n'existe pas. –
Ajoutez également une balise multithreading. –