RDN Express Blog

Blog archive

Microsoft Adds Atomic Blocks to .NET 4

On Monday Microsoft released an enhanced version of .NET Framework 4 Beta 1 called STM.NET that enables software transactional memory. The project, which originated in Microsoft Research Cambridge, provides a mechanism that improves isolation of shared states in concurrency without degrading performance.

Available on MSDN DevLabs for C# programmers, the "experimental" STM.NET "frees developers from worrying about the mechanics of fine-grained locking and synchronization in multithreaded applications by providing transactional semantics for reading and writing to memory," says DevDiv's Senior Vice President Soma "S" Somasegar in a blog posting. He goes on to explain how STM.NET works:

"The .NET Framework's just-in-time compiler rewrites the code within an atomic block to use transactional memory. As a result, a significant amount of .NET code works without changes, including code that uses locks. STM.NET also provides integration with System.Transactions so you can coordinate your atomic memory operations with existing transactional resource managers like MSMQ."

Even though it's an experimental version of .NET 4 Beta 1, STM.NET requires Visual Studio 2008 and Windows XP or Vista (x-32-bit only). It cannot run on machines with VS 2010 Beta 1 installed. The STM-enabled version of .NET is for C# programmers only, primarily due to the small project team, according to STM program manager Dana Groff. You can read more about what STM.NET offers above and beyond .NET 4 Beta 1 in Groff's blog about the STM.NET version 1.0 release.

According to a statement about the project on the MSDN DevLabs Web site:

"The goal is to be able to exploit concurrency by using components written by experts and consumed by application programmers who can then compose together these components using STM."

Microsoft is looking for developer feedback on this technology. Learn more about STM programming and download the STM.NET-enabled version of .NET 4 Beta 1 here.

What's your take on concurrency and parallel programming in .NET 4 so far? Express your views below or drop me a line at [email protected]

Posted by Kathleen Richards on 07/30/2009 at 1:15 PM

comments powered by Disqus


  • VS Code Now Has Apple Silicon Builds for Native Mac Development

    Goodbye Rosetta, hello M1. Visual Studio Code has been updated with new builds that let it run natively on machines with Apple Silicon (M1), the company's own ARM64 chips.

  • Visual Studio 2019 for Mac v8.9 Ships with .NET 6 Preview 1 Support

    During its Ignite 2021 online event for IT pros and developers this week, Microsoft shipped Visual Studio 2019 for Mac v8.9, arriving with out-of-the-box support for .NET 6 Preview 1, which the company also released recently.

  • Analyst: TypeScript Now Firmly in Top 10 Echelon (Ruby, Not So Much)

    RedMonk analyst Stephen O'Grady believes TypeScript has achieved the rare feat of firmly ensconcing itself into the top 10 echelon of his ranking, now questioning how high it might go.

  • Black White Wave IMage

    Neural Regression Using PyTorch: Training

    The goal of a regression problem is to predict a single numeric value, for example, predicting the annual revenue of a new restaurant based on variables such as menu prices, number of tables, location and so on.

Upcoming Events