エラーなしで終了するタスク内で無限 while ループを呼び出すときに、TPL C# を学習しています。私は何か間違ったことをしていますか?以下はサンプルコードです。
class Work2
{
public void DoWork()
{
List<string> scenarios = new List<string>();
scenarios.Add("work");
scenarios.Add("climb");
scenarios.Add("walk");
scenarios.Add("run");
List<int> id = new List<int>();
id.Add(1);
id.Add(2);
id.Add(3);
id.Add(4);
for (int i = 0; i < 2; i++)
{
Task.Factory.StartNew(() =>
{
workInstance(id[i], scenarios);
}, TaskCreationOptions.LongRunning);
Thread.Sleep(500);
}
}
public void workInstance(int id, List<string> scenario)
{
string Guid = System.Guid.NewGuid().ToString();
for (int i = 0; i < scenario.Count(); i++)
{
scenario[i] = scenario[i] + " " + Guid + " " + Thread.CurrentThread.ManagedThreadId;
}
while (true)
{
for (int i = 0; i < scenario.Count(); i++)
{
Console.WriteLine(scenario[i]);
}
}
}
}