【问题标题】:Can I use too many background worker threads?我可以使用太多后台工作线程吗?
【发布时间】:2010-02-04 18:40:04
【问题描述】:

每次我的代码需要与网络或数据库通信时,我都使用后台工作程序,我可以使用太多吗?执行这些任务的正确方法是什么?

如果我不使用后台工作人员,则 gui 会在远程主机关闭等情况下锁定,因此使用后台工作人员是我知道解决此问题的唯一方法。

我是自学成才,所以我边走边学,感谢所有回答的人。

【问题讨论】:

    标签: backgroundworker


    【解决方案1】:

    是的,您可以使用太多。 BackgroundWorker 使用线程池中的线程,因此如果您(同时)启动太多线程,您将耗尽线程池。

    后台工作人员适用于长时间运行的操作,而不是可能偶尔阻塞的短操作。改用非阻塞 I/O:

    【讨论】:

    • +1, BeginRead 是处理此问题的最佳方式,因为它使用 IOCP。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    相关资源
    最近更新 更多