23

TPL usa los Programadores de tareas para coordinar tareas. De acuerdo con official document, el programador de tareas predeterminado utiliza el grupo de subprocesos, pero si se presenta la opción TaskCreationOptions.LongRunning, se creará un subproceso dedicado para esa tarea (A).Opción TaskCreationOptions.LongRunning y ThreadPool

Pregunta: Por el momento, los documentos de MSDN para Visual Studio 2010 no están listos y el MSDN en línea actual no está finalizado; ¿Alguien sabe si (A) es verdadero o falso?

+0

¿Podría proporcionar una fuente concreta para (A)? –

+0

Este es un texto interesante en este título: http://download.microsoft.com/download/B/C/F/BCFD4868-1354-45E3-B71B-B851CD78733D/TPLOptionsTour.pdf –

Respuesta

36

Sí, LongRunning fuerza la creación de un nuevo hilo fuera de la piscina. Aquí hay un código de pseudo-desmontado de la última versión del marco:

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

Editar: feo convertido de C# para pseudocódigo.

+7

Reflejar es una especie de práctica aceptada para el Fx mismo aquí. Pero el peligro es que esto podría cambiar en una versión futura. –

+1

@chiba: No veo un problema con Mau. Creo que es útil ver el desmontaje. +1 para Henk también. Esto no está garantizado en su propio hilo ya que la lógica del planificador puede cambiar. –

+1

@Scott Creo que encontrará que, en teoría, los propietarios de la biblioteca desde la que se desensambló este código podrían emitir un [aviso de desmontaje] (http://en.wikipedia.org/wiki/Online_Copyright_Infringement_Liability_Limitation_Act#Takedown_example) al sitio web que lo alojó, es infracción de derechos de autor. Por lo general, no es una buena práctica. Estoy pensando en buen comportamiento y TAN aquí. –

Cuestiones relacionadas