STM.NET en DevLabs
Publicación del inglés original: lunes, 27 de julio de 2009 a las 14:20 PST por Somasegar
Hoy hemos hecho disponible STM.NET en MSDN DevLabs (en inglés). STM.NET es una versión experimental mejorada de .NET Framework 4 Beta 1, que permite memoria transaccional de software para programadores de C#.
Memoria transaccional es una tecnología que libera a los desarrolladores de preocuparse por los mecanismos de bloqueo específicos y la sincronización en aplicaciones multiproceso proporcionando la semántica transaccional para leer y escribir en memoria. Permite a los desarrolladores centrarse en lógica de aplicación en lugar de los detalles de entrada/salida de la memoria al crear programas multinúcleo y varios núcleos.
Creación de transacciones
STM.NET facilita la tarea declarar una región de código como atómica. Simplemente escriba una función o una expresión lambda que contiene el código desea usar en la transacción y pasar al delegado Atomic.Do . Igual que el código SQL en una transacción de base de datos, este bloque de código se ejecutará aislado de otros bloques de transacción y o finaliza correctamente o deshará la transacción completa si hay un error, todo sin la necesidad que bloquear nada explícitamente.
¿Cómo funciona?
El compilador just-in-time de .NET Framework vuelve a escribir el código de un bloque atómico para utilizar memoria transaccional. Como resultado, una cantidad significativa de código .NET funciona sin cambios, incluido el código que utiliza bloqueos. STM.NET también proporciona integración con System.Transactions, por lo que puede coordinar las operaciones atómicas de memoria con administradores de recursos transaccionales existente como MSMQ.
Uno de los mejores aspectos de STM.NET es su integración con herramientas de Visual Studio. STM.NET funciona con el depurador de Visual Studio 2008 para permitirle ver los valores de transacción de las variables que aparecen mientras se ejecuta dentro del delegado Atomic.Do así como sus valores tal y como aparecen fuera.
STM.NET está disponible para descarga (en inglés) hoy. Comparta sus ideas y experiencias en el foro del proyecto (en inglés) y lea acerca de STM.NET en el blog del equipo de STM.NET.
¡Namaste!