関数b で、コンテナ foo をコピーしてから使うという手もあるぞ。
コピーする一瞬はクリティカルセクションだけど、
コピーしてしまえばどんなに時間かけても大丈夫。
設計問題に絡むけど。