Tengo una pregunta de diseño. Quiero información para saber si un ThreadPool es apropiado para el programa de cliente que estoy escribiendo.Pregunta de diseño de Threadpool
Tengo un cliente ejecutándose como un servicio que procesa los registros de la base de datos. Cada uno de estos registros contiene información de conexión a sitios FTP externos [básicamente es una cola de archivos para transferir]. Muchos de ellos pertenecen al mismo host, solo mueven archivos diferentes. Por lo tanto, los estoy agrupando por host. Quiero ser capaz de crear un nuevo hilo por host. Realmente no me importa cuándo terminen las transferencias, solo tienen que hacer todo el trabajo (o intentar hacer) que se les asignaron, y luego terminar una vez que hayan terminado, limpiando todos los recursos que usaron en el proceso.
Anticipo que no se establezcan más de 10-25 conexiones. Una vez que la cola de transferencia está vacía, el programa simplemente esperará hasta que haya registros en la cola nuevamente.
¿Es el ThreadPool un buen candidato para esto o debería utilizar un enfoque diferente?
Editar: En su mayor parte, esta es la única aplicación personalizada significativa que se ejecuta en el servidor.
+1 De acuerdo con todos sus razonamientos, threadpool encaja perfectamente. – Walter