I'm trying to determine with *certainty* what is the difference between CCriticalSection and CMutex.
MSDN states the following:
Critical sections are used instead of mutexes (see CMutex) when speed is critical and the resource will not be used across process boundaries.
I'm reading that to mean you can use CCriticalSection if your code is not going to be accessed by multiple applications (via DLL).
My coworker is reading it to mean that the code is not going to be access by multiple instances.
He thinks if you have multiple instances of foo, then you should be using CMutex instead of CCriticalSection.
Can someone give me a *good* explanation of the differences between CCriticalSection and CMutex?