一生懸命考えた結果がコレか?
呼び出し側が自らコンカレントな使い方する前提でロック必須と言われてもねぇ
その内vectorのremove&eraseイディオムにも排他が必要で狂気の沙汰とか言い出しそうだな