Tengo un objeto MyThread que crea una instancia cuando mi aplicación se carga a través del servidor, la marco como un hilo de Daemon y luego llamo al start()
. El hilo está destinado a sentarse y esperar la información de una cola, siempre que la aplicación esté activa. Mi problema/pregunta es este: actualmente MyThread está extendiendo Thread porque lo marco como Daemon y leo cómo es más preferible implementar Runnable y usar ejecutores. Entonces, lo que quería preguntar es si MyThread implementará Runnable en lugar de extender Thread (y por supuesto será renombrado) y usaré newSingleThreadScheduledExecutor()
cómo, qué o tal vez dónde, marque algo como Daemon. Espero no haber hecho un lío de términos, discúlpeme si tengo algunas partes del entorno de subprocesamiento múltiple que son muy nuevas para mí.Ejecutor y Daemon en Java
Gracias Itai
Actualización: El módulo que me refiero en mi aplicación es una aplicación Web que tiene unos hilos realidad de este tipo y lo que tienen en común es que todos en que el ServletContext
como miembro por varias razones. Actualmente extiendo Thread
a WebThread
que tiene el ServletContext
como memebr y todas las subclases pueden utilizar esto. Si me cambio al paradigma Runnable con el Ejecutor y ThreadFactory, básicamente necesito tener un feo híbrido de WebRunnable
que implemente Runnable
y tenga ServletContext
como miembro público y haga que mi ThreadFactory
implemente newThread(WebRunnable arg0)
además de newThread(Runnable arg0)
. No estoy seguro de qué es lo mejor. Gracias
+1 para corrección técnica, pero ¿hay alguna ventaja en el uso de Executor en este contexto? Parece un poco de "complejidad por la complejidad" para mí (pero tal vez estoy equivocado en esto ...) – hjhill
Quizás no. Pero he escrito sistemas antes de los cuales utilizo un único ejecutor de hilos para empezar, y enchufé diferentes ejecutores en una etapa posterior. –
@ Brian- Estoy pensando en lo que está pensando hjhill. Tengo un hilo como tal y no estoy seguro de si vale la pena el problema al utilizar ThreadFactory – Ittai