1

WPFと を使用してアプリケーションを開発していますC#。次のコードがあります。

        var tokenSource = new CancellationTokenSource();
        CancellationToken token = tokenSource.Token;
        Task task = Task.Factory.StartNew(() =>
        {
            // Some action that returns a boolean - **CODE_A**
        }).ContinueWith((task2) =>
        {
                result= task2.Result;
                if (!result)
                {
                    //Another action **CODE_B**
                }
            });

        }, token);

通常、 CODE_Aはすぐに実行を開始し、1 秒も経たないうちに CODE_Bが実行を開始します。

Task.Factory.StartNewただし、 5 秒を超えて作成されたタスクが開始されるまでに時間がかかる場合があります (開始されると、実行は通常どおり迅速になります)。

タスクの実行が開始されるまでに時間がかかる理由がわかりません。何らかの形でタスクの優先度に影響を与えて、すべてのシナリオですぐに実行を開始することはできますか? 私は(それは単なる仮定です)タスクスケジューラによって後で実行するようにタスクがスケジュールされていると思いますか?タスクを常にすぐに強制的に実行する方法はありますか?

4

1 に答える 1