それで、どうしてキューのようなものが必要なんですか?
自身が書いているように

>処理順序のイメージは↓これ
>taskA = new Task
>taskB = new Task
>taskA->func1()
>taskB->func1()
>taskA->func2()
>taskB->func2()
これで良いのでは?
誰が読んでも、とても読みやすいし、まさに理想じゃないですか、ゴールと言えます
ゴールが見えたわけですから、この状態をなるべく維持しつつ、または維持できるように、全体の設計をすればよいのでは?
仮に一部の処理をキューで動的に管理しなければならなくなったのなら、
まぁそういうことも処理内容によっては有るでしょうが、理想の状態から遠ざかってしまうので残念で仕方ないですし
2chで嬉しそうに書き込むことではないと思うのですが・・・