std :: shared_lock锁(mutex_)到底如何?和std :: unique_lock lock(mutex_);工作?
我想实现以下想法:
我的问题是我是否应该使用shared_lock和unique_lock函数来实现这一点。显然,所有添加和搜索操作都应在此结构上获取shared_lock,而delete函数(仅由后台线程执行)必须获取unique_lock。后台线程是否会阻塞,直到所有shared_lock超出范围?另外,该库是否保证一定的公平性,或者在连续的追加/搜索操作的情况下,后台线程将永远被阻止?
提前感谢您的时间, 迪米特拉