winforms - 在应用程序中打开太多线程是否不好?

标签 winforms multithreading wcf parallel-processing

我有一个 C# winform 应用程序。它有多种形式,具有不同的功能。这些表单包装到 WCF 服务。例如

form1不断调用serviceMethod1并更新结果

form2不断调用serviceMethod2并更新结果

每个表单的调用都是在不同的线程中进行的,但是由于我们有很多表单,因此最终会产生太多线程。这很糟糕吗?为什么?鉴于我的情况,有没有办法避免这种情况?

问候

最佳答案

你说的是多少个线程?如果你有很多线程,你会因为上下文切换而损失一些性能 - 但实际上,我不认为这会成为一个严重的问题,除非你有很多线程。

另一种选择是使用计时器(听起来像 System.Timers.TimerSystem.Threading.Timer 最合适) - 安排定期进行每个服务调用,并且计时器将使用线程池来触发调用。我怀疑,虽然您说您“连续”调用服务,但实际上您的意思是您定期这样做 - 这正是计时器适合的情况。

关于winforms - 在应用程序中打开太多线程是否不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912896/

相关文章:

vb.net - 是否可以将跨列插入到 datagridview 列中?

c++ - 线程指针的 vector ,push_back导致崩溃

Android AsyncTask 上下文行为

使用 WCF 的 Android 应用程序

c# - 不按 Control 键选择多行

c# - WebBrowser 控件的问题

C# 数据库错误,从另一个列表框更改列表框中的项目

c++ - 链如何保证boost.asio中未决事件的正确执行

xml - 如何修改 WCF 以处理不同(非 SOAP)格式的消息?

wcf - 使用 WCF 服务创建自定义 WS-Federation 身份提供程序