Articles of task parallel library

Parallel.ForEach puede causar una excepción de “Memoria insuficiente” si se trabaja con un enumerable con un objeto grande

Intento migrar una base de datos donde las imágenes fueron almacenadas en la base de datos a un registro en la base de datos apuntando a un archivo en el disco duro. Estaba intentando usar Parallel.ForEach para acelerar el proceso utilizando este método para consultar los datos. Sin embargo, noté que estaba obteniendo una excepción […]

Tarea de reemplazo de biblioteca paralela para BackgroundWorker?

¿La tarea paralela a la biblioteca tiene algo que se consideraría un reemplazo o una mejora con respecto a la clase BackgroundWorker? Tengo una aplicación WinForms con una interfaz de usuario de estilo asistente, y hace algunas tareas de larga ejecución. Quiero poder tener una interfaz de usuario receptiva con la barra de progreso estándar […]

¿Cuándo se debe usar TaskCompletionSource ?

AFAIK, todo lo que sabe es que en algún punto, se está SetResult su método SetResult o SetException para completar la Task expuesta a través de su propiedad Task . En otras palabras, actúa como el productor de una Task y su finalización. Vi aquí el ejemplo: Si necesito una forma de ejecutar un Func […]

¿Cuál es la mejor forma de detectar excepciones en Tarea?

Con System.Threading.Tasks.Task , tengo que administrar las excepciones que podrían lanzarse. Estoy buscando la mejor manera de hacerlo. Hasta ahora, he creado una clase base que gestiona todas las excepciones no detectadas dentro de la llamada de .ContinueWith(…) Me pregunto si hay una mejor forma de hacerlo. O incluso si es una buena forma de […]

Esperando sincrónicamente una operación asíncrona, y por qué Wait () congela el progtwig aquí

Prefacio : Estoy buscando una explicación, no solo una solución. Ya sé la solución. A pesar de haber pasado varios días estudiando artículos de MSDN sobre el Patrón asincrónico basado en tareas (TAP), asíncrono y aguardado, todavía estoy un poco confundido acerca de algunos de los detalles más finos. Estoy escribiendo un registrador para Windows […]

Ejecute dos tareas asíncronas en paralelo y recopile resultados en .NET 4.5

He estado intentando por un tiempo obtener algo que pensé que sería simple de trabajar con .NET 4.5 Quiero disparar dos tareas de ejecución larga al mismo tiempo y recoger el da como resultado la mejor forma de C # 4.5 (RTM) Lo siguiente funciona pero no me gusta porque: Quiero que Sleep sea ​​un […]

¿Cómo usar API y patrones async / await que no sean seguros para subprocesos con ASP.NET Web API?

Esta pregunta ha sido activada por EF Data Context – Async / Await & Multithreading . He respondido eso, pero no he brindado ninguna solución definitiva. El problema original es que hay muchas API .NET útiles (como DbContext Microsoft Entity Framework), que proporcionan métodos asíncronos diseñados para ser utilizados con la await , pero están […]

No ConcurrentList en .Net 4.0?

Estaba encantado de ver el nuevo espacio de nombres de System.Collections.Concurrent en .Net 4.0, ¡bastante bueno! He visto ConcurrentDictionary , ConcurrentQueue , ConcurrentStack , ConcurrentBag y BlockingCollection . Una cosa que parece estar misteriosamente ausente es una ConcurrentList . ¿Debo escribir eso yo mismo (o sacarlo de la web :))? ¿Me estoy perdiendo algo obvio […]

¿Se considera aceptable no invocar a Dispose () en un objeto TPL Task?

Quiero activar una tarea para ejecutar en una cadena de fondo. No quiero esperar para completar las tareas. En .net 3.5, habría hecho esto: ThreadPool.QueueUserWorkItem(d => { DoSomething(); }); En .net 4, el TPL es el camino sugerido. El patrón común que he visto recomendado es: Task.Factory.StartNew(() => { DoSomething(); }); Sin embargo, el método […]

Async / await vs BackgroundWorker

En los últimos días, he probado las nuevas características de .net 4.5 yc # 5. Me gustan sus nuevas características async / await. Anteriormente había utilizado BackgroundWorker para manejar procesos más largos en segundo plano con una interfaz de usuario receptiva. Mi pregunta es: después de tener estas nuevas características agradables, ¿cuándo debería usar async […]