繁体   English   中英

C#BackgroundWorker - 最好将结果保存到文件本身还是使用ProgressChanged?

[英]C# BackgroundWorker - better to save results to a file itself or use ProgressChanged?

我是多线程编程的新手。 在我的C#项目中,我有一个长期工作的课程; 此类将BackgroundWorker对象作为其属性之一。 用户界面实例化我的类,然后在BackgroundWorker上调用RunWorkerAsync。

我的课经常将结果保存到文件中; 结果是一个复杂的对象(几个矩阵,字符串等)。 然后它通过ProgressChanged事件报告其进度。 然后我的简单GUI接收ProgressChanged并将百分比进度放在表单上的标签上。

我想到了一个易于实现的替代方案。 我的类可以将结果作为ProgressChangedEventArgs.UserState内部ProgressChanged事件的一部分传回。 这不是一个好主意吗?

保存到文件是一种可能长时间运行的操作。 它不应该在UI线程上运行。 如果可以,将其保留在BackgroundWorker或切换到async / await。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM