110,499
社区成员
发帖
与我相关
我的任务
分享
Thread myThread;
private delegate void deCalc(double d);
private void funCalc(double d)
{
textBox2.Text = d.ToString();
Thread.Sleep(0); //这里的Thread是指myThread还是主线程呢?
}
private void calc()
{
double d = 1.0;
this.Invoke(new deCalc(funCalc), d);
}
private void button1_Click(object sender, EventArgs e)
{
myThread = new Thread(new ThreadStart(calc));
myThread.Start();
}
}
Task.Run(() =>
{
Thread.Sleep(2000);
Console.WriteLine("结果1");
});
Task.Run(() =>
{
Console.WriteLine("结果2");
});
上述代码中的Thread.Sleep 挂起的是 Run中 匿名函数 所在的线程,而不是主线程!这样才会先输出结果2,再输出结果1。