从后台 worker 加载所有东西是个坏主意吗? 当前代码在 Form_load 上执行。我们从网络服务中提取了大量数据。一些长时间运行的作品在后台工作。
无论代码大小,从后台加载所有东西都是个坏主意吗? 在后台工作程序中运行的每个功能? 或者这会让这段代码变得困惑和噩梦。
谢谢。
最佳答案
代码的大小不是您应该用来确定是否在单独的线程上执行工作的指标。最坏情况下的执行时间是。
首先,真正需要在 Form_Load 上完成大量工作的 UI 设计并不多。如果可能的话,我通常会:
- 在直接打开表单以响应用户操作之前启动这项工作。
- 将所有工作转移到后台并异步更新(绑定(bind)?)结果到表单。
- 延迟工作,直到用户专门执行某些需要它的操作。
无论完成多少工作,您的用户都希望/期望您的表单非常快速且响应迅速。在 Form_Load 期间执行可能长时间运行的操作总是会导致糟糕的用户体验。
BackgroundWorker 只是异步执行工作的一种机制,还有许多其他机制。您应该选择最适合每种情况的一种。
关于c# - 后台 worker C# winform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3162310/