我正在創建一個asp.net應用程序,我試圖使用單獨的線程來允許用戶上傳文件到服務器(似乎有很多衝突當兩個用戶在同一時間這樣做)。當用戶點擊的頁面,我有我的處理邏輯,pageLoad函數中:是否有必要在C#中加入我的線程
public void UploadFile()
{
//code to upload a file
}
protected void Page_Load(object sender, EventArgs e)
{
Thread t1 = new Thread(UploadFile);
t1.Start();
t1.Join();
}
我的問題是:是不是真的有必要加入所創建的線程?從其他一些帖子看來,加入一個線程似乎很重要,這樣它就不會意外終止。
如果有幾個人同時運行此代碼,「t1.Join()」會加入他們創建的當前線程嗎?
調用'加入'本質上是等待該線程終止,所以如果你不關心,你不需要調用'加入'就可以了。 –
好的,所以我應該保留它?在我的UploadFile函數完成之前,我的Page_Load函數能夠完成嗎? – roshambo
是的,如果你刪除了'Join',你的'Page_Load'處理程序將終止而不等待線程運行完成,這在這裏沒問題。 –