标签: measurement-studio

后台工作者:在执行 RunWorkerCompleted 之前确保 ProgressChanged 方法已经完成

让我们假设我正在使用后台工作人员并且我有以下方法:

private void bw_DoWork(object sender, DoWorkEventArgs e)
{
    finalData = MyWork(sender as BackgroundWorker, e);
}

private void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    int i = e.ProgressPercentage; // Missused for i
    Debug.Print("BW Progress Changed Begin, i: " + i + ", ThreadId: " + Thread.CurrentThread.ManagedThreadId);
    // I use this to update a table and an XY-Plot, so that the user can see the progess.
    UpdateGUI(e.UserState as MyData);
    Debug.Print("BW Progress Changed End,   i: " + i + ", ThreadId: " + Thread.CurrentThread.ManagedThreadId); …
Run Code Online (Sandbox Code Playgroud)

c# backgroundworker race-condition winforms measurement-studio

3
推荐指数
1
解决办法
1177
查看次数