Estoy escribiendo mi cargador de clases personalizado, y me pregunto si debería hacerlo seguro para subprocesos? Como puede ver fácilmente, no todos los cargadores de clases Java nativos son seguros para subprocesos, solo sun.misc.Launcher.AppClassLoader lo hace (y, sin embargo, he comprobado las fuentes OpenJDK, y en OpenJDK no lo está).¿Debería ClassLoader ser seguro para subprocesos?
¿Hay alguna razón por la que los cargadores de clase java no estén sincronizados? ¿Deberían los cargadores de clase personalizados ser seguros para subprocesos?
Indica qué cargador de clases NO es seguro para la rosca (y sí, un Cargador de clases debe ser seguro para la rosca) – bestsss
El uso de sincronización no hace que algo sea seguro por sí mismo. Dado el número de clases de carga de JVM diferentes con el mismo cargador de clases de varios subprocesos, diría que definitivamente está demostrado que es seguro para la ejecución de subprocesos. Sin embargo, la forma en que se logra la seguridad de los hilos puede no ser la que esperas. – Yishai