>>580
コンテナに格納する要素数と比較して、挿入/削除される要素数が少ないのなら

> スレッドAの関数a: コンテナfooに値を挿入/削除(クリティカルセクションCで保護)

これをスレッドAで直接行わず、挿入/削除するコマンドを生成して一旦キューに
貯めて、スレッドBで処理を開始する前にコマンドを実行するようにします。

ロックする単位を、要素数が多いコンテナから比較的要素数が少ないコマンドキュー
に移すわけです。