Browse by Tags

Tagged Content List
  • Blog Post: CLR 4.0 ThreadPool Improvements: Part 2 (sort of...)

    It's now been more than 16 months since I promised to post about the improvements we made in the ThreadPool's concurrency control algorithm for CLR 4. Lesson: don't promise to write a series of articles unless you've got the time to do it! Luckily, Erika Fuentes, who you may recognize from our Channel...
  • Blog Post: CLR 4.0 ThreadPool Improvements: Part 1

    This is the first in a series of posts about the improvements we are making to the CLR thread pool for CLR 4.0 (which will ship with Visual Studio 2010). This post will cover changes to the queuing infrastructure in the thread pool, which aim to enable high-performance fine-grained parallelism via the...
  • Blog Post: CLR 4.0: Parallel Extensions and the CLR ThreadPool

    It's been a while since I've posted; for the past several months I've been working on deep changes in the CLR ThreadPool to support the Parallel Extensions to the .NET Framework. I hope to say a few things about the changes we're making in the CLR to support this new programming model over the coming...
  • Blog Post: When does it make sense to use Win32 Fibers?

    This has been discussed fairly frequently on the Web. Chris Brumme discusses this here: http://blogs.msdn.com/cbrumme/archive/2003/04/15/51351.aspx Raymond Chen discusses this here: http://blogs.msdn.com/oldnewthing/archive/2004/12/31/344799.aspx . There’s some discussion about the pros and...
  • Blog Post: Which managed memory model?

    In this article , Vance Morrison describes some of the issues involved in writing managed multithreaded code that avoids the use of locks. In particular, he discusses the impact of memory models on lock-free (or low-lock) programming. For managed code running on the CLR, there are two models that matter...
  • Blog Post: What synchronization primitives would you like to have in the .NET Framework?

    The .NET framework currently offers several synchronization primitives: Monitors (via the Monitor class. C# users know this as the "lock" statement) Two varieties of reader/writer lock (ReaderWriterLock / ReaderWriterLockSlim) Events (ManualResetEvent/AutoResetEvent) Mutexes (for inter-process locking...
  • Blog Post: Fun programming problem: a simple lock-free algorithm

    Can the program below ever print “oops?” #include <stdio.h> #include <process.h> struct Globals { volatile int start; int a; int b; volatile int end; }; Globals globals; void WriterThread( void *) { int i = 0; while ( true ) { globals.start...
Page 1 of 1 (7 items)