Java multi-threading
- Cuando fuimos a leer la clase java hilo, se dará cuenta de esta clase y la mayor parte de la biblioteca API de Java hay una clara diferencia en la totalidad de sus métodos principales son declarados nativo .
- nativo en sí se refiere a un método nativo, pero debido a que el modelo de rosca java utiliza el sistema operativo modelo de hilos natal, donde el valor por defecto de rosca
native
manera se refiere a la generación de Native POSIX Thread Library . - Hay tres implementaciones del hilo: un hilo del núcleo se implementan (1: 1 implementado), implementados usando el hilo de usuario (1: N), más el uso de hebras de usuario procesos ligeros implementaciones híbridas (N: M implementados). El Java 1.3 del modelo de hilos inicio ampliamente utilizado sistema operativo nativo modelo de hilos para lograr, a saber 1: 1.
- HOTPOT que no va a interferir con la programación de subprocesos, prioridades de los hilos se pueden configurar para proporcionar recomendaciones de programación del sistema operativo.
- sistema Linux y los diferentes PID cada proceso o LWP está asociado. Por otra parte, todos los hilos de una aplicación multiproceso en uno solo y el mismo PID.
- Debido a múltiples hilos tienen el mismo PID, se introduce el concepto de un grupo de hilos , mientras que el mismo proceso que conduce a todas las discusiones de un grupo de hilos de rosca y el grupo de PID, que es el primer grupo de proceso ligero la PID, se almacena en el proceso descrito en el TGID campo símbolo.
- Hay hilos en sentido real, su aplicación es para simular el proceso, pertenece a los hilos a nivel de usuario, que se encuentra la biblioteca libpthread compartido. estructura de datos específica en la memoria, es un descriptor de proceso de puntero apunta a la estructura de datos thread_info, este es el descriptor hilo, el tamaño de la zona de almacenamiento para el marco de dos hoja (2 * 4K).
Q & A
- P1: tenedor en un programa, diferente código de ubicación creado (), por lo que es multi-hilo de este programa?
- A: Programa relaciones de comunicación multi-proceso equivocado, tenedor crear el mismo programa () para crear un programa, perteneciente al padre e hijo entre cada tenedor () (padre e hijo se puede permitir única manera su comunicación entre procesos hijo tubería , y FIFO se permite comunicarse con los no Sons).
- P2: ¿Cuántas sistema operativo crea un proceso hasta, cuántos hilos para crear hasta un proceso?
- R: el sistema operativo procesa una línea creada por el más tabla proc (bajo Linux
/proc
) relacionado con el tamaño yproc
el tamaño de la tabla depende de la anchura del autobús (como bus ancho determina el número de punteros), tal como un 4G. - P3: ¿Cómo puedo ver los hilos del núcleo?
- UN:
ps afx
Referencia Bowen:
la programación multi-hilo Resumen: https://blog.csdn.net/skyroben/article/details/72793409
"la comprensión en profundidad de la máquina virtual de Java JVM características y las mejores prácticas avanzadas" para
"la comprensión en profundidad del kernel de Linux"