组框在不同的线程

时间:2014-12-12 08:19:47

标签: c# asp.net multithreading

我的软件中有5个Group Box我想以不同的方式运行它们,例如我有一个组合框,需要大约20-30分钟的时间,直到我的软件挂起。因此,当特定的组框正在为其工作时,我想让其他功能正常工作吗?

1 个答案:

答案 0 :(得分:1)

组合框不工作"。如果他们只是资源密集型任务的某个GUI,您可能希望异步运行该任务(或多线程,具体取决于您的要求),并仅使用GUI进行设置/更新/任何操作。关键是永远不要在GUI线程上做太多工作 - 如果GUI动作花费超过50-100ms,它应该可以在其他地方完成。请注意,使用await可以很容易地做到这一点 - 如果没有,BackgroundWorker可能是最好的选择。请注意,它并不能保护您免受同步问题的影响!