You are on page 1of 2

Manual de

Programacin
Paralela en .NET

Indice
1. Task Parallel Library ...............................................................................................................1
1.1. Paralelismo de datos (Task Parallel Library) ..................................................................1
1.1.1. Cmo: Escribir un bucle Parallel.For simple .......................................................2
1.1.2. Cmo: Escribir un bucle Parallel.ForEach simple ...............................................5
1.1.3. Cmo: Detener o interrumpir un bucle Parallel.For ............................................6
1.1.4. Cmo: Escribir bucle Parallel.For que tenga variables locales de subproceso ..7
1.1.5. Cmo: Escribir bucle Parallel.ForEach que tenga variables locales subproc .....8
1.1.6. Cmo: Cancelar un bucle Parallel.For o ForEach ..............................................9
1.1.7. Cmo: Controlar excepciones en bucles paralelos ...........................................10
1.1.8. Cmo: Acelerar cuerpos de bucle pequeos ....................................................12
1.1.9. Cmo: Recorrer en iteracin directorios con la clase paralela .........................12
1.2. Paralelismo de tareas (Task Parallel Library) ...............................................................15
1.2.1. Tareas de continuacin .....................................................................................20
1.2.2. Tareas anidadas y tareas secundarias .............................................................24
1.2.3. Cancelacin de tareas.......................................................................................26
1.2.4. Control de excepciones (Task Parallel Library) ................................................27
1.2.5. Cmo: Usar Parallel.Invoke para ejecutar operaciones paralelas ....................31
1.2.6. Cmo: Devolver un valor de una tarea .............................................................33
1.2.7. Cmo: Esperar a que una o varias tareas se completen ..................................34
1.2.8. Cmo: Cancelar una tarea y sus elementos secundarios ................................35
1.2.9. Cmo: Controlar excepciones iniciadas por tareas ..........................................37
1.2.10. Cmo: Encadenar varias tareas con continuaciones ........................................40
1.2.11. Cmo: Recorrer un rbol binario con tareas paralelas .....................................41
1.2.12. Cmo: Desencapsular una tarea anidada.........................................................42
1.3. TPL con otros modelos asincrnicos ............................................................................44
1.3.1. TPL y la programacin asincrnica tradicional de .NET ...................................44
1.3.2. Cmo: Encapsular modelos de EAP en una tarea ...........................................51
1.4. Problemas potenciales en el paralelismo de datos y tareas ........................................53
2. Parallel LINQ (PLINQ) ..........................................................................................................56
2.1. Introduccin a PLINQ ....................................................................................................56
2.2. Introduccin a la velocidad en PLINQ...........................................................................60
2.3. Conservar el orden en PLINQ .......................................................................................62
2.4. Opciones de combinacin en PLINQ ............................................................................64
2.5. Posibles problemas con PLINQ ....................................................................................66
2.6. Cmo: Crear y ejecutar una consulta PLINQ simple ....................................................68
2.7. Cmo: Controlar la ordenacin en una consulta PLINQ...............................................69
2.8. Cmo: Combinar consultas LINQ paralelas y secuenciales .........................................70
2.9. Cmo: Controlar excepciones en una consulta PLINQ ................................................71
2.10. Cmo: Cancelar una consulta PLINQ......................................................................72
2.11. Cmo: Escribir una funcin de agregado personalizada de PLINQ ........................75
2.12. Cmo: Especificar el modo de ejecucin en PLINQ ................................................76
2.13. Cmo: Especificar opciones de combinacin en PLINQ .........................................76
2.14. Cmo: Recorrer en iteracin directorios con PLINQ ...............................................77
2.15. Cmo: Medir el rendimiento de consultas PLINQ ...................................................77
2.16. Ejemplo de datos de PLINQ ....................................................................................78
3. Estructuras de datos para la programacin paralela ............................................................84
4. Herramientas de diagnstico paralelo ..................................................................................86
5. Particionadores personalizados para PLINQ y TPL .............................................................86
5.1. Cmo: Implementar las particiones dinmicas .............................................................90
5.2. Cmo: Implementar un particionador con un nmero esttico de particiones .............92
6. Generadores de tareas .........................................................................................................93
7. Programadores de tareas .....................................................................................................93
7.1. Cmo: Crear un programador de tareas que limita el grado de simultaneidad ............95

You might also like