Что-то похожее, Псевдокод:
template<class T, class M>
struct X {
std::unique_lock<M> associated_lock_;
T* associated_obj_;
};
Вариант использования:
{
X x = getObj();//locking occurs
//do something with x.associated_obj_
}//x gets unlocked due to scope exit
Я что-то думал в строках "Оформить заказ" или «Доступ», если это сообщит смысл. «Контрольно-пропускной пункт», вероятно, плохо. «ConcurrentY» или «ConcurrentObject», как правило, является приемлемым наименованием, например, для. класс ConcurrentMap, но это кажется неправильным в этом контексте, потому что это не то, где сам механизм блокировки раскрывается, как здесь.