Hi all: Threaded building blocks is an interesting approach to achieve parallelism in a C++ program. The idea is to provide parallelism in a multi-core environment without having to work with all the threading details/internals.
Those of us who write 'multi-threaded' programs can appreciate the fact that it is very to get it wrong ! Race conditions, deadlocks, priority inversions etc. rule the top of bug list. So, why is threading difficult to get it right ? The two common reasons are - . incorrect reasoning about shared state. . breaking invariants in the program and not restoring them. Native threading library, NPTL (New POSIX Threads Library) for linux are common library implementations. OpenMP is a message passing library designed to support multi-threading (and effectively parallelism) in large multi-processing environments. However, concurrency is crucial to realising future application architectures and utilising hardware innovations. With the background on current scenario out of the way, we can now take a look at TBB more closely. The canonical website is http://osstbb.intel.com/ A good discussion with the designer is http://www.devx.com/go-parallel/Article/35471/6071?pf=true The above discussion is fairly C++ centric as a large amount of existing desktop software that needs to explore the capabilities can now potentially run or runs on multi-core systems. Let's get the back rolling on this interesting concept. thanks Saifi.

