我創建了一個執行任務的線程,但我需要暫停我的主線程,直到我的輔助線程結束任務。暫停線程,而另一個線程正在執行任務
private void AquilesPL_Load(object sender, EventArgs e)
{
ThreadStart ts = new ThreadStart(RunTask)
Thread t = new Thread(ts);
t.Start();
SomeFunction1();
SomeFunction2();
//I need to pause the main thread here, if runtask() continue working
//if runt task ends, this main thread must to continue.
ReadFile();
CloseProgram();
}
private void RunTask()
{
//Some code that write a file
//RunTaskfunction ends, and i have to continue
}
private void ReadFile()
{
//Reading the file, this file has been written by RunTask
}
在此先感謝。
EventArgs的是,你這樣做是錯誤的指標。 –
您正在使用什麼C#/ .NET版本,或者您可以使用?什麼是應用程序的類型(WinForms?)? –
您從不「暫停」GUI應用程序的主線程。除了死鎖或非功能性凍結的用戶界面,這並沒有完成任何事情。使用控件的Enabled屬性可防止在工作完成時使用它們。指示進度的對話是一個明顯的選擇。 –