我有一個循環,我不想繼續,直到LoadAmazonDataByBatch()
已返回。我知道必須有一個簡單的方法來做到這一點,而且我幾乎可以肯定我正在接近錯誤的問題。暫停循環,直到內部函數返回(C#)
const int batchSize = 500;
for (int i = 0; i < total; i = i + batchSize)
{
LoadAmazonDataByBatch(i, batchSize, fileList, total, amazonLogHandler, stopWatch);
}
LoadAmazonDataByBatch()
做了一大堆的工作線程,包括創建一個臨時的數據集將獲得沒有配料非常大的事情。我不想創建一個新的DataSet,直到舊的DataSet被處理並處理(通過LoadAmazonDataByBatch)。 很明顯,現在寫的這種方式現在一切幾乎都是同時發生的。
我該如何解決這個問題?
LoadAmazonDataByBatch看起來像什麼?你能改變方法嗎?它有回調嗎?如果該方法沒有給出讓您知道何時完成的方法,那麼它可能是不可能的。如果實現使用QueueUserWorkItem(),則 – Davy8