Estaba perfilando mi aplicación usando JProfiler y como resultado, en la sección "Vistas de CPU" muestra que más del 40% del tiempo de CPU se usa en Object.wait()
. Sin embargo, por lo que sé en Object.wait()
CPU no se le da al hilo de espera.CPU Usage y Object.wait
¿Podría alguien ayudar a entender qué está pasando y por qué el generador de perfiles muestra que esta gran parte de la CPU se gasta en Object.wait()
?
¿Está utilizando varios hilos o solo uno? ¿Es esta una aplicación GUI o un servidor? – Kylar
Es una aplicación no GUI que contiene muchos subprocesos, entre 40 y 60 subprocesos. Algunos hilos están esperando E/S de red y otros están esperando responder a las solicitudes que reciben usando E/S. – Faramarz