Hola gente. Tengo un problema con 3 soluciones y no me decido cual camino tomar. Tengo un proceso al que se le configuran tareas a ejecutarse dentro de un determinado tiempo y a lapsos regulares. Este proceso puede hacer 2 cosas:
1- Correr un Thread por cada tarea configurada, y que cada thread espere por si mismo su momento de ejecución.
2- Un Timer con un TimerTask por cada tarea.
3- Que mi proceso calcule constantemente el momento de ejecución de cada tarea y cree y ejecute el Thread cuando corresponda. Lo cual no tengo ganas de hacer, pero si hay que hacerlo, lo haré.
Que opción ven mas performante? Algunos problemas en vista, suponiendo 20 tareas configuradas:
1- La primera opción: Si tengo 20 tareas configuradas, voy a tener 20 threads en sleep, constantemente, salvo cuando se están ejecutando.
2- En la segunda: Tendría 20 TimerTasks en espera. Y la ejecución de estos no es asincrónica, con lo cual me veo obligado a ejecutar el thread asincronicamente desde el TimerTask, de manera que no me retrase las demás tareas.
Que opción les parece mejor? O tienen alguna otra solución en mente?
Slds y muchas gracias!