执行任务,等待返回中断阻塞GUI

时间:2018-09-12 13:39:07

标签: c# multithreading

为了使示例尽可能简单,我运行了一个程序,该程序从主线程调用一个将返回状态的函数:

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show(check().ToString());
}

private bool check()
{
    Thread.Sleep(5000);
    return true;
}

它将按我想要的方式工作,它等待功能完成并显示返回值,但是这样做将导致GUI锁定并且无法移动。从另一个线程运行它不会阻止GUI,但是我必须等待结果,因此,如果我等待线程完成即时通讯回到同一个问题,则gui将被锁定。

等待函数返回其值而不阻塞GUI的最佳方法是什么?

0 个答案:

没有答案