Ejecutor y Daemon en Java
Tengo un objeto MyThread que ejemplifico cuando mi aplicación se carga a través del servidor, lo marqué como un hilo Daemon y luego llamostart()
en eso. El subproceso está destinado a sentarse y esperar información de una cola mientras la aplicación esté activa. Mi problema / pregunta es la siguiente: actualmente MyThread está extendiendo Thread porque lo marqué como Daemon y leí acerca de 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, se cambiará el nombre) y usarénewSingleThreadScheduledExecutor()
¿Cómo, qué o tal vez dónde, puedo marcar 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í.
Gracias ittai
Actualización: el módulo al que me refiero en mi aplicación es una aplicación web que tiene algunos hilos en realidad de este tipo y lo que sí tienen en común es que todos están en elServletContext
Como miembro por varias razones. Actualmente extiendoThread
aWebThread
que tiene elServletContext
como un memebr y todas las subclases pueden utilizar esto. Si cambio al paradigma Runnable con Executor y ThreadFactory entonces básicamente necesito tener un híbrido feo deWebRunnable
que implementaRunnable
y tiene elServletContext
Como miembro público y tener miThreadFactory
implementarnewThread(WebRunnable arg0)
además denewThread(Runnable arg0)
. No estoy seguro de qué es lo mejor. Gracias