[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้ private void frmTask_3_Load(object sender, EventArgs e)
{
Task.Run(() => AsyncLeech());
}
async void AsyncLeech()
{
const int sleepBetweenLeech = 100;
Task[] writeFileTasks = new Task[20];
int taskCount = 0;
var taskCountOuterCapture = taskCount++;
for (int i = 0;i< writeFileTasks.Length;i++)
{
Thread.Sleep(sleepBetweenLeech);
try
{
writeFileTasks = Task.Run(() => { richTextBox1.WriteLine("Task " + i + ":" + TestRunTask(i).Result + " Finish"); });
}
finally{}
}
await Task.WhenAll(writeFileTasks);
richTextBox1.WriteLine("Task All Finish");
}
Task<int> TestRunTask(int input)
{
int sl = new Random().Next(20, 500);
return Task.Run(() =>
{
int count = 0;
for (int i = 0; i < new Random().Next(5, 100); i++)
{
System.Threading.Thread.Sleep(sl);
count++;
}
// richTextBox1.WriteLine(" MethodRandom " + input + ":Finish");
return count;
});
}
แปลกใจตรงที่ว่า ทำไม มันออกมาเป็น Task 20: กันหมด แทนที่จะ มี 0-19 กันหรือครับ
สงสัยเรื่อง C# task ครับ ทำไม ค่า มันออกมาแปลกๆ
แปลกใจตรงที่ว่า ทำไม มันออกมาเป็น Task 20: กันหมด แทนที่จะ มี 0-19 กันหรือครับ