Al crear un objeto Ejecutor FixedThreadPool en Java, debe pasar un argumento que describa el número de subprocesos que el Ejecutor puede ejecutar simultáneamente. Estoy creando una clase de servicio que es responsabilidad de procesar una gran colección de números de teléfono. Para cada número de teléfono necesito ejecutar el servicio web (ese es mi cuello de botella) y luego guardar la respuesta en un hashmap.Cantidad razonable de subprocesos para el grupo de subprocesos que ejecuta solicitudes de servicio web
Para que este cuello de botella sea menos nocivo para el rendimiento de mi servicio, he decidido crear una clase Worker que recupere elementos no procesados y los procese. La clase trabajadora implementa la interfaz Runnable y yo ejecuto Workers using Executor.
El número de Trabajadores que se pueden ejecutar en el mismo tiempo depende del tamaño de Executor FixedThreadPool. ¿Cuál es el tamaño seguro para un ThreadPool? ¿Qué puede pasar cuando creo FixedTheradPool con un gran número como argumento?
Hola michael, algunos puntos: ¿Qué consideras "una gran colección de números de teléfono"? ¿Cuáles son las especificaciones del sistema con el que se ejecutará su aplicación? Cuando se trabaja con subprocesos específicos de lote, la cantidad de memoria disponible. para acumular y la velocidad del procesador también se tienen en cuenta para el calc. Saludos cordiales, Kam. –
Además de eso, lea la analogía hecha aquí: http://java.sun.com/docs/books/tutorial/essential/concurrency/pools.html para ver si su aplicación se ajusta al agujero de FixedThread Pools. –