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