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
A new tool that can generate code is being previewed in the Visual Studio Code Insiders channel seeks to ease the tedious data preparation process that data scientists need to go through to get good data for successful analysis projects.
Decision trees are useful for relatively small datasets that have a relatively simple underlying structure, and when the trained model must be easily interpretable, explains Dr. James McCaffrey of Microsoft Research, who provides step-by-step instructions and full source code.
Microsoft has open sourced an internal incubation project that can help developers integrate cutting-edge AI models quickly and easily into their apps.
Power Platform "is reinventing software development with AI-powered no-code development."
There are a raft of minor improvements for the brand-new Visual Studio 2022 v17.6 Preview 2, with accompanying release notes revealing that the IDE is ditching the baked-in Edge Developer Tools
> More Webcasts