2008-08-04 9 views

Respuesta

6

Existen algunas extensiones paralelas a .NET que se encuentran actualmente en pruebas y están disponibles en el Parallel Computing Developer Center de Microsoft. Tienen algunos elementos interesantes que esperarías como Foreach paralelo y una versión paralela de LINQ llamada PLINQ. Parte de la mejor información sobre las extensiones está en Channel 9.

2

Creo que también podríamos incluir enfoques no específicos de .NET para el procesamiento paralelo si se encuentran entre las mejores opciones a considerar.

2

@Larsenal

Si quieres sucursal fuera de .NET ha habido mucha discusión acerca de Intel de Threading Building Blocks que es una biblioteca paralelo para C++.

8

Su primer paso es encontrar y comprender el paralelismo en su problema. Es realmente fácil escribir código de subprocesos múltiples que no funciona mejor que el código de subproceso único que reemplaza. "Patrones para programación en paralelo" (Amazon) es una excelente introducción a los conceptos clave.

Una vez que tenga un diseño funcional, comience a leer los artículos en el tema "Simultaneidad" en los archivos de MSDN Magazine (link), particularmente cualquier cosa escrita por Jeff Richter. Esos le darán las tuercas y tornillos en las construcciones de subprocesos específicas de Windows y .NET. (La sección multi-threading en "CLR vía C# (Amazon) de Richter es corta, pero muy perspicaz, muy recomendable.)

0

Hay muchas opciones y la mejor solución dependerá de la naturaleza del problema que está tratando de resolver. Si usted está tratando de resolver un problema embarassingly parallel luego dividiendo y parallelising las tareas será trivial en ese caso, el reto vendrá en distribución y gestión de los datos utilizados

Algunas sugerencias serían:..

Cuestiones relacionadas