Entrevista pide multihilo para leer este artículo es suficiente

¿Qué es un proceso?
Un proceso es un programa que se está ejecutando y es una colección de múltiples subprocesos. Un sistema operativo puede tener múltiples procesos, de los cuales debe haber un subproceso principal

¿Qué es la atomicidad del programa?
Todas las operaciones en todo el programa se completan o no se completan, y es imposible detenerse en un determinado enlace en el medio.

Punto muerto: el código ejecutado por el hilo que adquiere el bloqueo informa un error, y el bloqueo no se puede liberar, lo que provoca un punto muerto

La diferencia entre el bloque de sincronización y la función de sincronización y el bloque de código de sincronización estático El bloque de código de
sincronización: especifique el bloqueo usted mismo El
bloque de código estático: bloqueo de clase La
función de sincronización: este bloqueo La
función de sincronización estática: bloqueo de clase

¿Cuál es la diferencia entre este bloqueo y bloqueo de objeto y bloqueo de clase?
este bloqueo: el mismo bloqueo utilizado por este objeto
bloqueo de objeto: el mismo bloqueo utilizado por la
clase de objeto especificada bloqueo: el mismo bloqueo utilizado por esta clase

¿Qué bloqueo usa la función de sincronización? ¿Cómo probarlo?
Usa esta cerradura para
probar

¿Cuándo se inicializan las variables miembro estáticas y las variables miembro no estáticas?
Variables miembro estáticas: carga de clases Variables miembro
no estáticas: llame al constructor

¿Qué es una corutina?
Un proceso tiene múltiples subprocesos, un subproceso consta de múltiples corutinas

El papel de
las variables volátiles modificadas por la palabra clave volátil, si el valor ha cambiado, se pueden ver otros hilos inmediatamente, para evitar el fenómeno de la lectura sucia.
Para garantizar la visibilidad entre hilos, pero no garantiza la atomicidad, es decir, no garantiza la seguridad del hilo

Memoria local? Memoria principal?

AtomicInteger JDK1.5 paquete concurrente clase atómica
AtomicInteger a
tomicInteger = new AtomicInteger (0);

¿Qué es la comunicación multiproceso? ¿Cómo comunicarse entre múltiples hilos?
Múltiples hilos en el mismo recurso (recurso compartido), cada hilo realiza diferentes acciones y operaciones en el recurso compartido

¿Cuál es la diferencia entre esperar y notificar y notificar a todos?
espere para liberar el bloqueo, bloquee la
notificación para despertar la
notificación para despertar todos los hilos

¿Qué es ThreadLocal?
Proporcione una variable local para cada subproceso en lugar de compartir la variable
ThreadLocal.get generic

Sincronizado también se denomina bloqueo integrado. El
código comienza a bloquearse y el
código termina a desbloquearse.

La diferencia entre
la transmisión automática sincronizada y bloqueada y la transmisión manual

Sincronizado es fácil de causar un punto muerto, bajo rendimiento e inflexibilidad

Base de datos de conexión pool-jdbc gestión de optimización de conexión

¿Qué es un grupo de subprocesos? Función?
1, reutilizar, reducir el consumo de recursos
Paso 2, excepto mucho del ciclo de vida, mejorar la velocidad de respuesta de
3 a facilitar la gestión de hilos, colas
ThreadPollExecutor núcleo
a menudo crean iniciar la destrucción de las discusiones se consume mucho tiempo
con el uso de la administración de subprocesos del grupo de subprocesos, puede ahorrar tiempo y recursos de la cpu

¿Qué son las cerraduras java?
1. Bloqueo pesimista: se bloqueará cada vez que tome datos, y solo puede garantizar que una conexión sea ineficiente para operar, y tiene su propia función exclusiva de bloqueo
2. Bloqueo optimista: sin bloqueo, sincronización de subprocesos de control a través de la identificación de versión
3. Bloqueo de giro : Bucle continuo a través de cas
4. Bloqueo de lectura y escritura: no permita otras lecturas y escrituras al escribir, y el servicio no permite una razón al sincronizar con zk 5. Vuelva a ingresar
el bloqueo: sincronizado, bloquee, pase el bloqueo al siguiente Será recreado. Cuando un método llama a otro método, el bloqueo se pasará al llamado. Ambos métodos están sincronizados.
6. Bloqueo exclusivo:
7. CAS sin bloqueo: similar al bloqueo optimista, la clase atómica usa esto, Muy eficiente V actualiza el valor variable E valor esperado N nuevo valor
8. Bloqueo de segmento:
9. Bloqueo distribuido:

Bloqueo de la base de datos:
1. Bloqueo de fila:


Bloqueo de segmento ConcurrentHashMap 16 segmentos
divididos en múltiples pequeñas tablas hash

Detenga el hilo
cuatro formas de crear un grupo de hilos

52 artículos originales publicados · Me gusta2 · Visitas 1859

Supongo que te gusta

Origin blog.csdn.net/qq_42972645/article/details/104839227
Recomendado
Clasificación