TPL utilise les planificateurs de tâches pour coordonner les tâches. Selon official document, le planificateur de tâches par défaut utilise le pool de threads, mais si l'option TaskCreationOptions.LongRunning
est présentée, il créera un thread dédié pour cette tâche (A). Question: Pour l'instant, les documents MSDN pour Visual Studio 2010 ne sont pas prêts et le MSDN en ligne actuel n'est pas finalisé; Est-ce que quelqu'un sait si (A) est vrai ou faux?TaskCreationOptions.LongRunning option et ThreadPool
Répondre
Oui, LongRunning
force la création d'un nouveau filet extérieur de la piscine. Voici un code de la dernière version du framework désassemblé pseudo-:
...
if (task.Options HasFlag LongRunning) then
create new Thread thread
thread.Start(task)
...
Edit: converti de laid C# pour pseudocode.
Reflectoring est une sorte de pratique acceptée pour le Fx lui-même ici. Mais le danger est: cela pourrait changer dans une future version. –
@chiba: Je ne vois pas de problème avec Mau. Je pense que c'est utile de voir le démontage. +1 pour Henk aussi. Ce n'est pas garanti d'être sur son propre thread que la logique du planificateur peut changer. –
@Scott Je pense que vous trouverez en théorie que les propriétaires de la bibliothèque à partir de laquelle ce code a été démonté pourraient émettre un [avis de démontage] (http://en.wikipedia.org/wiki/Online_Copyright_Infringement_Liability_Limitation_Act#Takedown_example) sur le site Web qui l'hébergeait - c'est la violation des droits d'auteur. Donc ce n'est généralement pas une bonne pratique. Je pense à un bon comportement et SO ici. –
On peut supposer que vous pouvez vérifier cela en utilisant « Thread.IsThreadPoolThread »:
http://msdn.microsoft.com/en-us/library/system.threading.thread.isthreadpoolthread.aspx
Juste essayé, avec l'option LongRunning la propriété est fausse. –
@Henk Excellent - donc lors de l'utilisation de "LongRunning", "Thread.IsThreadPoolThread = false". À votre santé. –
Pourriez-vous fournir une source concrète pour (A)? –
Ceci est un texte intéressant sur ce titre: http://download.microsoft.com/download/B/C/F/BCFD4868-1354-45E3-B71B-B851CD78733D/TPLOptionsTour.pdf –