task処理にて、いくつかのtaskの処理が走らない事象について
お世話になります。
C#のtaskで、合計10個のtaskをRunさせたいと思っているのですが、
デバッグするとtaskが4、5個は走るのですが、残りが走らずにwaiting状態となってしまいます。
内容として、同一のメソッドを一つのインスタンスを用いて繰り返し走らせようとしています。
スレッドプールの上限や下限を見ても問題はないはずなのですが、
理由や解決策が見つからない状態です。
よろしくお願いします。
以下に簡潔なソースを書かせて頂きます
// 10個スレッドを生成する箇所
TaskWork taskWork = new TaskWork();
for (int i = 0; i < 10; i++) {
Task.Run(() => taskWork.Work());
}
// task処理するクラスメソッド
public class TaskWork
{
public void Work() {
while(true) {
// taskで繰り返す処理
}
}
}