>だから生成順序は気にせずに生成して、的確なタイミングで処理を実行するまでは待機モード

auto t = new task(); //生成順は気にせず作成

//的確なタイミングで処理を実行するまでは待機モード

t->func1(); //的確なタイミング、的確な順番で実行
t->func2();
t->func3();

これじゃダメなんですか?