The second of my series of articles on threading is up on Microsoft Systems Developer Network Magazine:
Scalable Multithreaded Programming with Tasks
This article is about using tasks to break up a lengthy job into a series of smaller ones – called “tasks” – which can be individually run on a thread. Of course, there are some restrictions on how you can do this and not have the threads step on each other. In some cases it’s impossible to take a serial task and create collection of independent (or nearly so) smaller tasks. But frequently you can have a task make an assumption out the global state and if you’re right most of the time, it’s a win at the expense of occasionally repeating or redoing some work because your tasks didn’t have the exactly correct information.
The first of a series of articles on threading is up on Microsoft Systems Developer Network Magazine:
Scalable Multithreaded Programming with Thread Pools
This article is a gentle introduction on how to get better CPU performance with little effort. If your application is fairly CPU intensive, it’s usually fairly easy to make it multiprocessor friendly by using a little preprocessor magic to instruct the compiler that an operation can be run on multiple threads. Discusses C# and C++ multithreaded programming.
One of the nice things about Vista is that they rewrote the display architecture to be a composition engine. Every window gets some off screen memory to display itself to and then all these windows are composited together onto the desktop. This means that the windows are totally independent from what they are rendered over and that it’s possible to stick effects into the composition pipeline. Vista’s Aero Glass interface is a simple demonstration of the power of this new architecture. The “glass” effect is the ability to tag regions of the window as being “glass” and then these areas are composited with whatever parts of the desktop are underneath the regions and then blurred with a hard coded pixel shader to give the impression of a frosted glass edge to Aero Glass enabled windows. Sadly, the Basic version of Vista can’t run Aero Glass. But if you’re running the Premium, Business, or Ultimate versions and you have some recent (i.e. DX9) hardware , you’re all set. That a look! You can find the article here.