我有一个 C# winform 应用程序。它有多种形式,具有不同的功能。这些表单包装到 WCF 服务。例如
form1不断调用serviceMethod1并更新结果
form2不断调用serviceMethod2并更新结果
每个表单的调用都是在不同的线程中进行的,但是由于我们有很多表单,因此最终会产生太多线程。这很糟糕吗?为什么?鉴于我的情况,有没有办法避免这种情况?
问候
最佳答案
你说的是多少个线程?如果你有很多线程,你会因为上下文切换而损失一些性能 - 但实际上,我不认为这会成为一个严重的问题,除非你有很多线程。
另一种选择是使用计时器
(听起来像 System.Timers.Timer
或 System.Threading.Timer
最合适) - 安排定期进行每个服务调用,并且计时器将使用线程池来触发调用。我怀疑,虽然您说您“连续”调用服务,但实际上您的意思是您定期这样做 - 这正是计时器适合的情况。
关于winforms - 在应用程序中打开太多线程是否不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912896/