I am asking about a good reference for multithreading programming in terms of concepts with good examples using C++/C#?
- The Art of Multiprocessor Programming with examples in Java (many can be rewritten in C++, but some get tricky due to garbage collection).
- Patterns for Parallel Programming
- Concurrency and Coordination Runtime, Parallel Framework Extensions, Microsoft concurrency page - different Microsoft approaches for .NET attempting to catch up Java with different high-level concurrency concepts (JSR166, JSR 166y)
- Java Concurrency in Practice (doesn't meet the criteria of C++/C#)
- Partial Lock-Free data structures
- C++ Concurrency in Action - will cover multithreading from modern C++ point of view
- Herb Sutter about concurrency
- C++0x proposals, for example N2709, N2744, etc.
http://www.albahari.com/threading/
Free threading book by Joseph Albahari..
PS: There are also Chinese, Czech, Persian, Russian translations on the site..
I bought the vb.net version of this book C# Threading Handbook (Paperback) from amazon, which has all the reference i need.
The Little Book of Semaphores is a free, online introductory textbook. Example code is all in Python.
I recommend Joe Duffy's new book on concurrency on Windows. He covers both the Win32 API and the .NET framework. Excellent reading.
Good reference for reading:
Thread Management In The CLR
Round-Robin Access To The ThreadPool
Multithreading with C#
Free Code: Win32 Lightweight Lock
Why are thread safe collections so hard?
Threading in C#
Jeffrey Richter’s Power Threading Library
Implementing a Thread-Safe Queue using Condition Variables
Threading Building Blocks.org!
Sutter’s Mill - Effective Concurrency: Understanding Parallel Performance
Sutter’s Mill - Effective Concurrency: Use Threads Correctly = Isolation + Asynchronous Messages
Thread Synchronization (C# Programming Guide)
How to synchronize access to a shared resource in a multithreading environment by using Visual C#
Use Threads Correctly = Isolation + Asynchronous Messages
Parallel and Multi-Core Computing with C/C++
Thinking in Concurrently in .NET
Programming the Thread Pool in the .NET Framework
Visual Basic .NET: Tracing, Logging, and Threading Made Easy with .NET
Juice Up Your App with the Power of Hyper-Threading
Concurrency Hazards - Solving 11 Likely Problems In Your Multithreaded Code
INFO: Descriptions and Workings of OLE Threading Models - COM STA MTA
C# Threading
Thread Synchronization (C# Programming Guide)
Overview of concurrency in .NET Framework 3.5