Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Boost Mutex implementation for Windows

As far as I know in old versions of Boost boost::mutex implementation for Windows was done using critical sections. But in the newest version of Boost 1.51 I discovered that now mutex implementation is based on Events.

Does anybody know what is the rational behind this change? Was it done because of performance reasons? Do critical sections become deprecated?

like image 621
nogard Avatar asked Oct 22 '12 15:10

nogard


1 Answers

Isn't it wonderful that by using boost we always have best approach with no change? In new version of boost, boost::mutex is implemented as an spinlock but with the help of a windows event to avoid busy wait and that event will only created if needed, thus it is very light weight and have a very high performance and also enable boost to use this light weight mutex for timed wait! I think this is excellent

like image 178
BigBoss Avatar answered Sep 30 '22 00:09

BigBoss