
Hi all! I'm curious about the realization of the boost::mutex class (especially on W32). * How heavy is it to create a mutex object? * Are there any limits (OS recource bound or other) to how many mutex object that can be created? * How costly is it to 're-lock' a recursive mutex? Almost NOP or more costly? Are these questions (and other of the same type) answered somewhere in the docs? Finally, a more concrete question. Consider the following: A list of objects that needs to lock a mutex (all lock the same mutex). vector<CriticalWorker*> foo; ... for ( ... i = each foo ... ) i->doWorkThatLocks(); This code section will lock/unlock repeatedly. If I use a recursive mutex, will the following be much faster (since the locks in 'doWorkThatLocks' will be more light-weight)? lock(); for ( ... i = each foo ... ) i->doWorkThatLocks(); unlock(); Best Regards Anders Sundman