Boost logo

Boost :

From: William E. Kempf (wekempf_at_[hidden])
Date: 2003-04-28 12:22:54

Bronek Kozicki said:
> William E. Kempf wrote:
>>> Could this not have been implemented with a critical section and use
>>> TryEnterCriticalSection? Why was the mutex approach used for one and
>>> not the other?
>> TryEnterCriticalSection is not portable. Specifically, it's not
>> available in the Win9x line.
> Critical sections in Win32 are much more efficient than mutexes, which
> sometimes is important thing in multithreaded programs - especially
> those running on servers.

There's some debate about that. Timings show that this isn't necessarily
true... especially on multi-processor machines with high contention rates.
 But at a generic level, I agree with you.

> It would be nice to use them in compatible
> environment ie. WinNT family . There could be some switch like:
> which will force use of critical section instead of mutex. Of course
> program compiled with this switch might not run in Win9x, which is fine.
> If anybody wants to use mutex (ie. compile for compatibility with old
> environment) , he/she will just not define above mentioned symbol. I
> hope this proposal will not introduce maintenance nightmare.

A compiler switch isn't the answer. OS detection is what I'm currently
using in the next version.

William E. Kempf

Boost list run by bdawes at, gregod at, cpdaniel at, john at