Form form1 = new Form();
Thread newThread = new Thread(() =>
form = form1
);
newThread.Start();
while(form == null)
{
WAIT?
}
任何人都可以帮助我如何使线程等待前进与执行?而不是使用thread.sleep?c#如何让线程等待
Form form1 = new Form();
Thread newThread = new Thread(() =>
form = form1
);
newThread.Start();
while(form == null)
{
WAIT?
}
任何人都可以帮助我如何使线程等待前进与执行?而不是使用thread.sleep?c#如何让线程等待
您可以使用ManualResetEvent
:
var mre = new ManualResetEvent(false);
Form form1 = new Form();
Thread newThread = new Thread(() => {
form = form1;
mre.Set();
});
newThread.Start();
mre.WaitOne();
为FLQ提到你可以使用的Thread.join,将允许线程完成正在执行的任何,你可以在该点之后继续......然而,由于你工作,如果你从那里加入你可能会阻塞UI线程窗体应用程序...
你应该尝试解决这个,而不是阻止不同的模式......使用委托或事件时,信号一些东西已经完成...也被称为异步处理。
为什么原因,你不想使用'Thread.Sleep'? – Otiel