多线程问题!!!
private int iAry;
private int iShow=0;
private int iStart;
private int iEnd;
public string Message = "";
private void Form2_Load(object sender, EventArgs e)
{
//currentTime = System.DateTime.Now;
//int m = currentTime.Millisecond;
Thread[] ThreadSender = new Thread[20];
iStart = 0;
iEnd = 200;
for (iAry = 0; iAry < 20; iAry++)
{
iStart = iStart + 1;
ThreadSender[iAry] = new Thread(new ThreadStart(Count));
ThreadSender[iAry].Start();
Thread.Sleep(1000);
}
//currentTime1 = System.DateTime.Now;
//int s = currentTime1.Millisecond;
////int Mills = currentTime.Millisecond;
//MessageBox.Show(m.ToString());
//MessageBox.Show(s.ToString());
}
public void Count()
{
for (iShow =iStart; iShow < iEnd; iShow++)
{
this.Message = iShow.ToString();
this.listBox1.Invoke(new EventHandler(WorkerUpdate));
}
}
public void WorkerUpdate(object sender, EventArgs e)
{
this.listBox1.Items.Add(this.Message);
this.listBox1.Update();
}
我这样定义的是不是多线程!
还有我把1到200显示在LISTBOX1里!
可是最后显示的是19-198,还有9个199!
这是怎么回事!