TaskCreationOptions.LongRunning option e ThreadPool

TPL utilizza gli Utilità di pianificazione per coordinare le attività. Secondo il documento ufficiale , lo schedulatore di attività predefinito utilizza Thread Pool, ma se viene presentata l’opzione TaskCreationOptions.LongRunning , verrà creato un thread dedicato per tale attività (A).

Domanda: A partire da ora i documenti MSDN per Visual Studio 2010 non sono pronti e MSDN online corrente non è finalizzato; qualcuno sa se (A) è vero o falso?

Sì, LongRunning forza la creazione di un nuovo thread all’esterno del pool. Ecco un codice pseudo-disassemblato dall’ultima versione del framework:

 ... if (task.Options HasFlag LongRunning) then create new Thread thread thread.Start(task) ... 

Modifica: convertito da brutto C # in pseudocodice.

Presumibilmente puoi verificarlo usando “Thread.IsThreadPoolThread”:

http://msdn.microsoft.com/en-us/library/system.threading.thread.isthreadpoolthread.aspx