winform界面上,只有一个button和一个label
点击button,然后label的值在界面上依次显示1,2,3,每个值的显示间隔为100毫秒
想用多线程的方法来做,用3个线程,每一个线程在界面上显示一个数字。
麻烦大家帮帮忙,写个范例给我看看。我的项目要用到多线程,我想看一些范例。
点击button,然后label的值在界面上依次显示1,2,3,每个值的显示间隔为100毫秒
想用多线程的方法来做,用3个线程,每一个线程在界面上显示一个数字。
麻烦大家帮帮忙,写个范例给我看看。我的项目要用到多线程,我想看一些范例。
Thread.Sleep(100);
label1.Text += "2";
Thread.Sleep(100);
label1.Text += "3";
用多线程操作label的时候别忘了在 窗体的构造函数里加一句
CheckForIllegalCrossThreadCalls = false;
public void btn_click....
{
List<int> listShow = new List<int>();
listShow.Add(1);
listShow.Add(2);
listShow.Add(3); Thread t = new Thread(new ParameterizedThreadStart(lblShow));
t.IsBackground = true;
t.Start(listShow);
}private void lblShow(object obj)
{
List<int> listShow = obj as List<int>;
foreach(var i in listShow)
{
lblShow.Text = i.ToString();
Thread.Sleep(1000);
}
}
等待Mutex
sleep(100)
数字+1
施放Mutex或者WaitHandle[3]
线程1 sleep(100) 显示1 WaitHandle.SignalAndWait(WaitHandle[0],WaitHandle[2]);
线程2 sleep(100) 显示2 WaitHandle.SignalAndWait(WaitHandle[1],WaitHandle[0]);
线程3 sleep(100) 显示3 WaitHandle.SignalAndWait(WaitHandle[2],WaitHandle[1]);
....