Si se crea una Tarea utilizando la opción Ejecución Larga si hay efectos secundarios ya que no usan las tareas ThreadPoolTask LongRunning ¿efectos secundarios?
Respuesta
Sí. El efecto secundario es que: si tiene un millón de tareas, podría crear un millón de subprocesos.
necesidad de tener en cuenta que cada subproceso traerá su memoria sobrecarga y contexto sobrecarga de conmutación. La sobrecarga de memoria no es tan pequeña, estamos hablando unos pocos MB aquí, así que incluso con miles de elementos, podría tener problemas.
LongRunning, indica que se omitirán las colas globales y locales, para evitar que bloquee el otro hilos que vienen después en la cola local.
Eso significa que, si tiene muchas de estas tareas de ejecución larga, podría crear más hilos de lo normal.
Se puede ver en las respuestas sobre esta cuestión algunos de los inconvenientes:
Actualizado para ser un poco más claro (y con suerte más en línea con lo que dice MSDN) – Holger
La opción LongRunning
es un indicio de que el programador lo que significa que puede optar por ejecutar el Task
en un hilo no ThreadPool (si es el hilo de la piscina respaldado DefaultScheduler
lo más probable). Un efecto secundario de la opción LongRunning
es que Task Inlining no está permitido para esa tarea. Esto significa que si la tarea LongRunning
crea otras tareas y llamadas anidadas o secundarias Wait
en cualquiera de esas tareas, siempre se ejecutarán en un subproceso diferente en lugar de estar en línea (es decir, ejecutarse en el mismo subproceso que realiza el Wait
).
En el contexto de las respuestas de otras personas vale la pena señalar que la creación de un gran número de tareas que toman mucho tiempo para completar sin la LongRunning
pista sigue siendo probable que cause una escalada en el número de hilos debido al hilo Algoritmo de inyección que usa el DefaultScheduler
. El algoritmo no distingue entre subprocesos en el grupo que están bloqueados y aquellos que han estado ejecutando un elemento de trabajo durante mucho tiempo y en ambos casos puede responder mediante la inyección de más subprocesos en el grupo para intentar aumentar el rendimiento del trabajo.
Reflejo muestra que la sugerencia, a partir de .NET 4.0, siempre se obedece – usr
- 1. Task Parallel Library - Tarea LongRunning vs Multiple Continuations
- 2. LD_LIBRARY_PATH efectos secundarios
- 3. Programación funcional: Efectos secundarios
- 4. efectos secundarios LINQ
- 5. MongoDB: efectos secundarios de mapReduce
- 6. efectos secundarios sobre otros recursos
- 7. Catching assert() con efectos secundarios
- 8. Aplicación de efectos secundarios en python
- 9. Funciones de pruebas unitarias con efectos secundarios?
- 10. Funciones anidadas: ¿uso inapropiado de efectos secundarios?
- 11. Clojure - Efectos secundarios sucediendo fuera de servicio
- 12. Efectos secundarios dentro de un typeof() expresión
- 13. Cierre de Python con efectos secundarios
- 14. ¿Cuándo exactamente un método tiene efectos secundarios?
- 15. cortocircuito de evaluación y los efectos secundarios
- 16. Expresiones sin efectos secundarios en C++
- 17. C++ 11 move constructor con efectos secundarios
- 18. ¿Efectos secundarios en un iterador considerados perjudiciales?
- 19. Best Practice LongRunning Creación de tareas
- 20. ¿Cuáles son los efectos secundarios de Data :: Dumper()?
- 21. mapa Scala el iterador no produce efectos secundarios
- 22. ¿Qué efectos secundarios tiene la palabra clave 'nuevo' en JavaScript?
- 23. ¿Cómo funcionan los efectos secundarios del modelo de idiomas funcionales?
- 24. ¿Por qué el operador = ~ solo a veces tiene efectos secundarios?
- 25. Efectos secundarios de llamar a Assembly.Load varias veces
- 26. Eliminar elementos en un bucle for sin efectos secundarios?
- 27. La evaluación perezosa y efectos secundarios IO confusión
- 28. Detectando mouse clic en div con Javascript sin efectos secundarios
- 29. Peor peor: ¿efectos secundarios o pasar objetos masivos?
- 30. Enfoque para los emisores libres de efectos secundarios
http://stackoverflow.com/questions/3105988/task-parallel-library-taskcreationoptions-longrunning-option-and-threadpool ¿la finalización automática funciona al ingresar el título de la pregunta en su navegador? :) –
¡Lo encontré! http://msdn.microsoft.com/en-us/library/dd997402.aspx – Aliostad