基本的に、次に実行する関数がコロコロ変わる場合には、決まった構造を取れないから、
次に実行する関数を、一旦、キューにでも入れた方が良いかも

OS のプロセススケジューラーは、まさにそう。
赤黒木で、次に実行するプロセスの順番を管理している