簡體   English   中英

如何等待特定功能完成才能啟動下一個功能? 在C#中不使用線程

[英]How to wait for particular function to complete for starting next function? Without using thread in C#

我有兩個功能。

Function1(varName);
Function2();

以相同的順序調用。 在這里,字符串varName由線程中的另一個函數調用分配。

但是在這里,我希望Funtion2在將另一個值分配給varName之前完成(調用Funtion1)。

問候,Sagy

例:

private void MainFuntion()
{
   Thread StartReadThread = new Thread(
            new ParameterizedThreadStart(StartRead));
   StartReadThread .Start(obj_ListDictionary); //ListDictionary object 
}

private void StartRead(object threadData)**
{
  ThreadPool.SetMaxThreads(4, 4);
  m_Events = new ManualResetEvent[m_objSelNsfDataTable.Rows.Count];
  foreach (DataRow objRow in m_objSelNsfDataTable.Rows)
  {
    m_objThreadData                 =   new ThreadData();
    m_objThreadData.FilePath         =   objRow[0].ToString();

    m_objThreadData.ThreadIndex      =   index;
    m_Events[index]                  =   new ManualResetEvent(false);

    WaitCallback objWcb             =   new WaitCallback(FinalFunction);
    ThreadPool.QueueUserWorkItem(objWcb, m_objThreadData);

    index++; 
  }                               

  WaitHandle.WaitAll(m_Events); 
}

private void FinalFunction(object threadData)
{

  ThreadData threadData = (ThreadData)passedThreadData;
  String FilePath = threadData.FilePath;
  CopyContent(FilePath );                    
  OpenFolderForView();

}
string tempVarName = varName;
Function1(tempVarName);
Function2();
varName = tempVarName;

閱讀此內容 (說明如何在.NET 3.x和4.0中執行類似操作)

如果Function1調用了該線程,則可以使用thread.Join在退出/返回之前。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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