Using C#, I have been doing multithreaded development for about 5 years, and consider myself quite proficient (I wrote my own lock-free queue and task parallel framework before Microsoft made TPF).However, I find it incredibly difficult to find information on practical multithreaded system design patterns anywhere. There are some good resources on low-level algorithms and collections, but not much on system design.So to the question, anyone know where this information can be found? 
where can I find an overview of known multithreading systems architectures design patterns?
design patterns;multithreading;system
Parallel Programming with Microsoft .NET: Design Patterns for Decomposition and Coordination on Multicore ArchitecturesThis is a book, I recommend wholeheartedly.It is:New - published last year. Means you are not reading somewhat outdated practices.Short - about 200+ pages, dense with information. These days there is too much to read and too little time to read 1000+ pages books.Easy to read - not only it is very well written but it introduces hard to grasps concepts in really simple to read way.Intended to teach - each chapter gives exercises to do. I know it is always beneficial to do these, but rarely do. This book gives very compelling and interesting tasks. Surprisingly I did most of them and enjoyed doing them.