For those of you who are interested in using or trying Microsoft development tools, I’m happy to report that Visual Studio 2010 Beta 1 is now available. If you’re interested in: concurrency and parallel computing, check out the new concurrency runtime (ConcRT) that implements efficient work stealing for scalable code, the Asynchronous Agents Library and [...]
Archive for the ‘C# / .NET’ Category
VS2010 Beta 1 Now Available
Posted in C# / .NET, C++, Concurrency on 2009-05-20 | 17 Comments »
Effective Concurrency: Eliminate False Sharing
Posted in C# / .NET, C++, Concurrency, Hardware, Software Development on 2009-05-15 | 10 Comments »
This month’s Effective Concurrency column, “Eliminate False Sharing”, is now live on DDJ’s website. People keep writing asking me about my previous mentions of false sharing, even debating whether it’s really a problem. So this month I decided to treat it in depth, including: A compelling and realistic example where just changing a couple of [...]
Effective Concurrency: volatile vs. volatile
Posted in C# / .NET, C++, Concurrency, Java on 2009-01-12 | 12 Comments »
This month’s Effective Concurrency column, “volatile vs. volatile”, is now live on DDJ’s website and also appears in the print magazine. (As a historical note, it’s DDJ’s final print issue, as I mentioned previously.) This article aims to answer the frequently asked question: “What does volatile mean?” The short answer: “It depends, do you mean [...]
Effective Concurrency: Lock-Free Code — A False Sense of Security
Posted in C# / .NET, C++, Concurrency, Java on 2008-08-05 | 13 Comments »
DDJ posted the next Effective Concurrency column a couple of weeks earlier than usual. You can find it here: “Lock-Free Code: A False Sense of Security”, just went live on DDJ’s site, and also appears in the print magazine. This is a special column in a way, because I rarely critique someone else’s published [...]
Constructor Exceptions in C++, C#, and Java
Posted in C# / .NET, C++, Java, Software Development on 2008-07-25 | 35 Comments »
I just received the following question, whose answer is the same in C++, C#, and Java. Question: In the following code, why isn’t the destructor/disposer ever called to clean up the Widget when the constructor emits an exception? You can entertain this question in your mainstream language of choice: // C++ (an edited version of [...]