簡體   English   中英

在 ThreadPool.UnsafeQueueUserWorkItem() function 中等待進程完成

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM