[英]wait for a process to finish inside an ThreadPool.UnsafeQueueUserWorkItem() function
我正在做一個將播放媒體的 web 應用程序。 我有一個包含方法的 class A,比如 MyMethod:
public void MyMethod()
{
.....
Process proc = ....
ThreadPool.UnsafeQueueUserWorkItem((o) =>
{
proc.WaitForExit();
proc.Close();
.....
},null);
}
在我頁面后面的代碼中,我將調用此方法,該方法將運行該進程然后播放媒體,該進程將文件轉換為.flv 類型。我的問題是因為我使用的是異步系統,即使線程沒有完成它的工作卸載時,頁面將加載但不播放媒體。 我如何等待 ThreadPool 中的進程終止? 然后加載我的頁面?? 多謝。
如果您希望您的 asp.net 響應等待處理結果,請直接調用 WaitForExit。 不要使用線程池。
如果由於某種原因你覺得你絕對需要使用 ThreadPool,你可以使用 ManualResetEvent 來等待調用線程中的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.