ThreadPool (GetMaxThreads/SetMaxThreads). , ThreadPool . , 10. 10 BackgroundWorker, 30 , , ThreadPool, 30 .
Timer, , . , , . , , MaxThreads, , 10. - 1023 (.NET 4, 2x2.26GHz ). , , , BackgroundWorker. , ThreadPool.
Personally, I use dedicated threads to be safe. Moreover, the threads, of course, will be idle, waiting for the completion of your requests. The only advantage that I see in use BackgroundWorkerin your case is that it’s easier to update the progress bar in the user interface. But if you do not show the progress of your request, this is another reason for using dedicated threads.
source
share