2010-02-04 55 views
3

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

如果我不使用后台工作人员gui锁定,如果远程主机关闭等,所以使用backgroundworker是我知道解决这个问题的唯一方法。

我是自学的,所以我一直在学习,谢谢所有回答。

回答

1

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

后台工作人员是指长时间运行的操作,而不是偶尔会阻塞的短操作。使用非阻塞I/O,而不是:

+0

+1,'BeginRead'是处理这个,因为它使用IOCP的最佳途径。 – 2010-02-04 10:36:12

相关问题