winform多线程经典实例超级简单易懂
直接上代码
private SynchronizationContext mainThreadSynContext; //在这里记录主线程的上下文;
private void OnConnected(object state)//由于是主线程的同步对象Post调用,这个是在主线程中执行的
{
//这里就回到了主线程里面了
//做一些事情
string sss = Convert.ToString(state);
richTextBox1.AppendText(sss+"\r\n");
label1.Text =( Convert.ToInt32(label1.Text)+1).ToString();
}
private void button1_Click(object sender, EventArgs e)
{
mainThreadSynContext = SynchronizationContext.Current;
for (int i = 0; i < 10; i++)
{
Thread thread = new Thread(new ThreadStart(longidceshi));//创建线程
thread.Start();
}
}
public void longidceshi()
{
//多线程要做的列子
for (int i = 0; i < 100; i++)
{
mainThreadSynContext.Post(new SendOrPostCallback(OnConnected), i);//通知主线程
}
}平淡中储蓄成长
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~