![](/img/trans.png)
[英]How to wait for the complete execution of a IEnumerator function in 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.