¿Es posible hacer que un subconjunto de subprocesos (por ejemplo, desde ThreadPool específico) asignen memoria del propio montón? P.ej. la mayoría de los subprocesos se asignan del montón común compartido, y pocos subprocesos de trabajo se asignan de montones individuales (1: 1 por subproceso).Asignación de montón específico de subprocesos
El objetivo es garantizar la ejecución segura del código en el entorno compartido: el trabajador típico no tiene estado y se ejecuta en un hilo separado, el procesamiento de una solicitud no debe consumir más de 4 MB de almacenamiento dinámico.
Actualización # 1 Re: ¿Pero por qué te preocupa "ejecución segura" e impredecible creciente del consumo del montón?
El punto es sobre el alojamiento seguro de código arbitrario de terceros de Java dentro de mi proceso. Uno de los puntos es no tener "memoria insuficiente" para todo el proceso debido a errores en el código de terceros.
Actualización # 2 Re: Como de limitar el uso de memoria por hilo, en Java el lenguaje es imposible
Según mi investigación antes de que yo he publicado esta pregunta mi opinión es lo mismo, Solo espero que me esté perdiendo algo.
Las únicas soluciones posibles alternativas para mi caso de uso como veo en este momento son ...
1) How much memory does my java thread take? - el uso de memoria hilo pista en un poco de hilo gobernador y poner fin a los malos hilos
2) Run Java code on my own JVM - Sí, es posible. Puede descargar una implementación de fuente abierta de JVM, modificarla ... :)
No, la idea detrás de los hilos es ser lo más ligera posible, por lo que comparten el mismo montón; también haría la sincronización más difícil si lo permitieran.Pero, ¿por qué le preocupa la "ejecución segura" y el aumento impredecible del consumo de almacenamiento dinámico? – Viruzzo
Las implementaciones de JVM típicas utilizan Thread Local Assignment Buffers (TLAB), donde cada subproceso tiene su propia área pequeña para realizar asignaciones pequeñas sin mucha sobrecarga de seguridad de subprocesos. Eso no aborda la disponibilidad sin embargo. RTSJ tiene algunas cosas relacionadas con hilos y montones, pero eso es sobre latencia. –