2009-07-23 9 views
11

El tiempo de ejecución de simultaneidad y coordinación de Microsoft ahorró literalmente un proyecto que estaba teniendo problemas importantes con el bloqueo. Desde entonces, me parece que lo uso cada vez con más frecuencia para casi cualquier cosa que requiera codificación asíncrona, produciendo resultados que sean más ligeros y rápidos que antes. Honestamente puedo decir que ha transformado la forma en que pienso sobre dev multithread/multicore. A pesar de mi amor personal por CCR, parece que hay muy pocos rumores que lo rodean en la web y me preguntaba si alguien puede ofrecer alguna razón para esto. ¿Hay mejores alternativas, o es una falta de promoción de la EM, o las personas simplemente están contentas con las herramientas existentes?¿Está Microsoft CCR ganando tracción?

Respuesta

3

La concesión de licencias a su alrededor es un poco dolorosa, por lo que recuerdo.

Creo que la mayoría de la gente está esperando Extensiones Paralelas en .NET 4.0. Sé que no es exactamente lo mismo, pero todavía es mucho mejor que lo que está en el marco en este momento, y aunque las continuaciones no funcionan de la misma manera, al menos están ahí :)

Sospecho que Parallel Extensions ha tenido bastante más trabajo que CCR, aunque estoy seguro de que el trabajo de CCR también inspiró parte del diseño de PFX.

+0

Sí, estoy de acuerdo, la licencia es un asco, pero después de usarlo cuando se trata del tiempo de liberación, definitivamente pagaremos. – spender

2

Yo también tengo un amor personal por el CCR ... Ciertamente no he visto nada equivalente en .NET ni en ningún otro lado. Creo que es una lástima que creo que Jon tiene razón y que probablemente sea relegado a un nicho de fanáticos entusiastas como nosotros, mientras que la mayoría de los principales .NET multithreading probablemente se hará con las extensiones paralelas.

Estoy particularmente decepcionado con este pronóstico porque creo que se podría hacer más para promocionarlo, digamos encajarlo en un marco de tipo bus de mensajes asíncrono fiable empresarial, que creo que no tiene una historia coherente en .NET. Además, al mirar el Microsoft CCR/DSS Site probablemente nunca pensé en probarlo ... No entiendo por qué fue empaquetado de esta manera, aparte del hecho de que varias compañías lo sacaron del kit de herramientas de Robotics y simplemente lo ejecutaron antes de que MS pensara que tenía un propósito más allá de la robótica.

De todos modos, no estás solo ... y hay muchos otros "entusiastas" CCR también. Here's a neat 'flow' based CodePlex project que envuelve al CCR en un paradigma de flujo interesante.

2

He estado disfrutando de usar el CCR en dos grandes proyectos hasta ahora. El primero es terrible (realmente no obtuvo la idea de patrón Causalidad) y el segundo está apareciendo brillantemente (rastreador web)

Ambos proyectos utilizan el paradigma basado en mensajes para evitar la espera de operaciones IO de ejecución lenta. El CCR es bastante bueno para trabajar una vez que resuelve la falta de un asignador ORM compatible. (Estoy considerando liberar parte del código de plomería que he escrito para salvar a otras personas el dolor de corazón)

Habiendo dicho eso, RX parece bastante interesante. Tengo curiosidad de cómo se compara en términos de manejo de errores, velocidad y confiabilidad.

1

Microsoft Robotics Studio 2008 R3 ya está disponible y ahora puede ser utilizado por todos.

+1

Excelentes noticias. – spender

4

Sugeriría que TPL Dataflow, que se lanzará como parte de .Net 4.5, reemplazará eventualmente al CCR. La mayoría de los conceptos en el CCR tienen un análogo en Dataflow, aunque no es necesariamente un ejercicio de portabilidad directo.

Dicho esto, el Robotics Studio Developer 4 Beta 2, released November 2011, incluye una versión del CCR para Silverlight 4.

+0

Sí, he estado usando DataFlow con async/await en .net4.5, y estoy de acuerdo en que parece estar alineado como sucesor. Muy agradable. – spender

Cuestiones relacionadas