常に作業を行う場合は、スレッドを使用します。カスタム作成されたプールを直接使用します。それでも、カスタムタスクスケジューラの背後に(独自のスレッドプールを使用して)非表示にすることができます。
低レベルのスレッドパラメータを制御する必要がない場合、スレッドにはいくつかの利点があります。これは非常にまれです。優先度の設定のような雑学は、非同期でも実行できることです(設定を戻すことを忘れないでください)が、相互運用のためにかなりのことを設定する必要がある場合があります。
それでも、最近のスレッドは非常に低レベルのAPIです-タスクはカスタムスケジューラを使用しているため、カスタムタスクスケジューラの外部のスレッド(低レベルAPIとして内部でカスタムメイドのスレッドのスレッドプールを使用する場合があります)はほとんど使用されません。
スレッドは、LONGTERMのスレッドを再割り当てするときにも役立ちます。長期は必ずしも「計算集約的」ではありません。ここには、カスタムスレッドで24時間ループで実行されるAPIがあります。スレッドを開始し、「プロセスデータ」メソッドを呼び出して呼び出します。メソッドは、問題/エラー時に、または1日に1回戻ります(次のリアルタイムデータブロックのためにすぐに再起動されます)。明らかに、ノンストップで忙しいので、これはスレッドにとって良いケースであり、タスクではありません。タスクのすべての高度な機能は役に立たないからです。
他のほとんどすべてのために最近私はタスク/非同期を使用します。