Pregunta

Tengo una pregunta que se relaciona con posible sobrecarga de ExecutorServices en Java.

La presente aplicación ha ExecutorService A con una capacidad de 5 hilos.

  • Se ejecuta hilos de tipo A.
  • roscas tipo A hacer un poco de lectura y escritura de base de datos.

Ahora, un hilo de tipo B se ejecutará después de algunos hilos de tipo A ha terminado.

  • El número de hilos B tipo que se ejecutarán es diferente de vez en cuando.
  • hilos de tipo B hacer algún sistema de ficheros IO (no base de datos).

Así que debo

  • añadir un nuevo tipo de ExecutorService mango B hilos
  • o debería aumentar la capacidad de las discusiones ExecutorService A B y escribir ver con eso también?

Estoy pensando que podría haber alguna sobrecarga adicional que Java tiene dos ExecutorServices, pero por otro lado, el número total de hilos aumentará en ambos sentidos. Qué importa en absoluto?

¿Fue útil?

Solución

voy a recomendar dos ExecutorServices, entonces usted puede tomar ventaja de los diferentes ExecutorServices proporcionadas por el paquete java.util.concurrent.

Esto hace que el código sea más fácil y la sobrecarga es ignorable.

  • ExecutorService una con un conjunto de grupo de subprocesos fija a cinco hilos.
  • ExecutorService B con un grupo de subprocesos en caché.

Otros consejos

Si estamos hablando de 5 hilos, y no estás de agotar su capacidad de agrupación de hebras, que tendería a decir que la sobrecarga woulld sea insignificante de cualquier manera, y usted debe ir lo que consideren ser la ruta más sencilla .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top