C# WinApp ถ้ามี Thread เยอะๆแล้วจะแจ้งเตือนเมื่อทั้งหมดทำงานเสร็จครับ
เก็บค่าลงในตัวแปรก่อนครับ ค่อน MessageBox ตัว Thread สุดท้าย
Date :
2016-07-25 13:39:13
By :
mr.win
ปัญหาอยู่ที่ว่าเวลาทำงานแต่ละ thread ไม่เท่ากันครับ
thread แรกอาจจะเสร็จทีหลัง thread ที่ 100 ประมาณนี้ครับ
Date :
2016-07-25 14:34:44
By :
lamaka.tor
Date :
2016-07-26 11:42:50
By :
lamaka.tor
Date :
2016-07-30 14:47:20
By :
lamaka.tor
ดันอีกซักหน่อย ยังแก้ไม่ได้
Date :
2017-07-06 16:49:47
By :
lamaka.tor
ช่วยคิดแบบบ้านๆให้หน่อยครับ
Code (C#)
private void Form1_Load(object sender, EventArgs e)
{
for (byte b = 65; b <= 90; b++)
new System.Threading.Thread(RunRandom).Start(new object[] { Convert.ToChar(b).ToString() });
}
void RunRandom(object obj)
{
string s = (string)((object[])obj)[0];
for (int i = 0; i < new Random().Next(1,1000000); i++)
{
this.Invoke(new Action(() => { this.Text = "elapsed time of " + s + " is " + i; }));
richTextBox1.Invoke(new Action(() => { richTextBox1.Text += Environment.NewLine + "elapsed time of " +s+ " is " + i; }));
System.Threading.Thread.Sleep(100);
}
}
จากโค้ด ตั้งแต่ โปรเซส A-Z(65-90) โดยที่มีการสุ่ม(เพื่อไม่ให้ระยะเวลาการทำงานเท่ากัน)แบบนี้
ถ้าผมอยากรู้ว่า โปรเซส ไหนทำงานเสร็จก่อนเพื่อน ตัวไหนเสร็จหลังเพื่อน แล้วเวลาทั้งหมดเท่าไหร่
เราต้องเพิ่มเติมโค้ดยังไงบ้างครับ
Date :
2017-07-06 18:51:15
By :
lamaka.tor
Load balance : Server 02