У меня есть пул потоков, который использует общие мьютексы из библиотеки boost.Пример использования scoped try_shared_lock и блокировки обновления в boost
В то время как ответы на мой другой вопрос, были полезны, Example of how to use boost upgradeable mutexes
То, что я понял, что я на самом деле нужно, чтобы не блокировать, если общий замок или обновить замок не может быть получено. К сожалению, в документах повышения эффективности отсутствуют примеры использования.
Может ли кто-нибудь указать мне или предоставить пример использования shared_lock таким образом.
т.е.
boost:shared_mutex mutex;
void thread()
{
// try to obtain a scoped shared lock
// How do I do that?
}
void thread2()
{
// try to obtain a scoped upgrade lock
// and then a scoped unique lock
}