2010-02-04 57 views
3

每次我的代碼需要與網絡或數據庫進行通信時,我都會使用背景工作器,我可以使用太多的工具嗎?執行這些任務的正確方法是什麼?我可以使用太多的後臺工作線程嗎?

如果我不使用後臺工作人員gui鎖定,如果遠程主機關閉等,所以使用backgroundworker是我知道解決這個問題的唯一方法。

我是自學的,所以我一直在學習,謝謝所有回答。

回答

1

是的,你可以使用太多。 BackgroundWorker使用線程池中的線程,所以如果你啓動太多(同時),你將耗盡線程池。

後臺工作人員是指長時間運行的操作,而不是偶爾會阻塞的短操作。使用非阻塞I/O,而不是:

+0

+1,'BeginRead'是處理這個,因爲它使用IOCP的最佳途徑。 – 2010-02-04 10:36:12

相關問題