I've been reading about concurrency, multi-threading, and how ["the free lunch is over"](http://www.gotw.ca/publications/concurrency-ddj.htm). But I've not yet had the possibility to use MT in my job. 

I'm thus looking for suggestions about what I could do to get some practice of CPU heavy MT through exercises or participation in some open-source projects. 

Thanks.

Edit: I'm more interested in open-source projects that use MT for CPU-bound tasks, or simply algorithms that are interesting to implement using MT, rather than books or papers that only describe the tools like threads, mutexes and locks, or how MT can be used to have responsive GUIs...