Escribo aplicaciones en Java utilizando ThreadPool. Primero creo un nuevo ThreadPool:Grupo de subprocesos en Java
private ExecutorService threadExecutor = Executors.newFixedThreadPool(20);
Luego creo algunos objetos Runnable. Después de que yo haga mi ThreadPool de vez en cuando le pasa el mismo objeto Ejecutable:
threadExecutor.execute(serverRunnable);
que ejecuta este ThreadPool cada 20 segundos. Mi problema es que threadExecutor deja de funcionar durante unos 5 minutos. Simplemente no ejecuta el objeto Runnable. Noté que cuando aumente el argumento en:
Executors.newFixedThreadPool(20);
de 20 a p. Ej. 100 ThreadPool funcionará más tiempo. ¿Alguien puede explicarme por qué ThreadPool deja de funcionar?
Ps. Escribo este código en Android
Por favor, publique el código de su objeto 'serverRunnable'. – artbristol
¿Su Runnable se detiene correctamente? Si nunca finalizan su método 'run()', su grupo se agotará y 'execute()' se bloqueará esperando a que esté disponible un intervalo en el grupo. – Viruzzo
Bueno, yo uso serverRunnable por ejemplo. Paso muchos Runnable diferentes a ThreadPoll y todos se detienen. Algunos de ellos hacen un trabajo trivial escribir algo en el registro. – klemens