Ben*_*ler 2 c# loops backgroundworker
我用c-sharp(winforms)构建了我的系统,我遇到了一个问题.在我看来 - 我的图形界面 - 我正在开始一个非常繁重的算法,在每个循环中将结果添加到我视图中的列表中.该算法使用backgroundworker在演示者(MVP模式)中运行 - 使视图不会冻结.正如我之前所说的那样,算法在一个循环中运行,因为它太重了,我想在它们进来时处理算法的结果.
视图:
...
public List<string> Results { get; }
...
_presenter.RunAlgorithmAsync();
//Start processing results
...
Run Code Online (Sandbox Code Playgroud)
演示者中的背景工作者:
...
_view.Results.Add(result);
...
Run Code Online (Sandbox Code Playgroud)
总结一下,如何在后台工作者添加列表时开始处理列表?当然,后台工作者可以比列表处理更快地工作,反之亦然 - 处理可能必须等待结果到达列表,并且列表需要能够建立一堆结果.
我意识到这个问题可能很模糊,但如果你问我问题,我相信我可以更好地定义问题.