Per quanto ne so nelle versioni precedenti dell'implementazione Boost boost::mutex
per Windows è stata eseguita utilizzando sezioni critiche. Ma nella versione più recente di Boost 1.51 ho scoperto che ora l'implementazione di mutex si basa su eventi.Implementazione Boost Mutex per Windows
Qualcuno sa qual è la ragione dietro questo cambiamento? È stato fatto per motivi di prestazioni? Le sezioni critiche diventano deprecate?
Hai guardato i cambiamenti al changelog? – PlasmaHH
Per quanto posso vedere, è stato fatto per semplificare e unificare il design di vari mutex: attualmente 'mutex',' timed_mutex', 'try_mutex' - sono tutti implementati usando' detail :: basic_timed_mutex', che non può usare CS. (In realtà, usare CS non è sempre la scelta migliore, dipende dallo scenario di concorrenza, quindi non vale la pena complicare la progettazione per questo.) –
Ti rendi conto che solo i progettisti di boost possono rispondere pienamente a questo. Il resto di noi può solo speculare ... – Tudor