ロックはコールバックつきで呼び出してもらう。
非同期、といっても要素ごとのスレッドではなくロック用スレッドはひとつだけ。

追加要求分は次の:i/ロックフェイズで。
追加分が来なくなるまで:i/ロックフェイズとコールバックを繰り返す。
これもコールバックつき。

要求が全て叶った要素から順次コールバック。

呼び出し順序がオブジェクト構造と合わない Edit

例えばActionメソッドはオブジェクト生成を完全に終わらせてから呼ぶためのもの。
→終わらせてからロックフェイズが始まればいい。