Preguntas de la entrevista sobre pruebas de software: ¿Qué es el bloqueo pesimista?

cerradura pesimista

La idea básica del bloqueo pesimista es suponer que habrá conflictos entre operaciones concurrentes , por lo que los datos se bloquearán y otras operaciones se bloquearán.

Al actualizar los datos, el bloqueo pesimista primero adquirirá el bloqueo y luego realizará la operación de actualización. Otras operaciones deben esperar a que se libere el bloqueo antes de continuar.

Ventajas del bloqueo pesimista

La ventaja del bloqueo pesimista es que puede garantizar la coherencia de los datos, porque otras operaciones no pueden modificar los datos durante la operación de actualización.

Desventajas del bloqueo pesimista

(1) Problemas de rendimiento

Los bloqueos pesimistas bloquearán otras operaciones y reducirán el rendimiento de concurrencia del sistema. Si necesita esperar a que se libere el bloqueo durante la operación, aumentará el tiempo de respuesta de la operación y afectará la experiencia del usuario.

(2) Problema de punto muerto

Los bloqueos pesimistas pueden causar problemas de interbloqueo, es decir, varios subprocesos esperan entre sí para liberar el bloqueo y no pueden continuar ejecutándose.

(3) Problema de granularidad de bloqueo

El bloqueo pesimista tiene una granularidad de bloqueo grande, lo que puede impedir que algunos datos se operen al mismo tiempo y afectar el rendimiento concurrente del sistema.

(4) Alta complejidad de programación

Cuando se utiliza el bloqueo pesimista, es necesario realizar operaciones de bloqueo y liberación del bloqueo, y es necesario lidiar con problemas como la granularidad del bloqueo y el tiempo de espera, y la complejidad de la programación es relativamente alta.

Escenarios de uso de bloqueo pesimistas

(1) Alta concurrencia

El bloqueo pesimista es adecuado para su uso en escenarios con alta concurrencia porque puede garantizar la coherencia de los datos.

(2) Escribe más y lee menos

El bloqueo pesimista es adecuado para su uso en escenarios donde más escrituras significan menos lecturas, porque las operaciones de lectura deben esperar a que las operaciones de escritura liberen el bloqueo antes de continuar.

(3) Alta probabilidad de conflicto de datos

Los bloqueos pesimistas son adecuados para su uso en escenarios con una alta probabilidad de conflictos de datos, es decir, es probable que ocurran conflictos entre operaciones concurrentes.

(4) Mecanismo de implementación del bloqueo pesimista

Los bloqueos pesimistas generalmente se implementan mediante bloqueos a nivel de fila de la base de datos o bloqueos distribuidos. Al actualizar los datos, los datos se bloquearán y otras operaciones deberán esperar a que se libere el bloqueo antes de continuar.

Implementación de bloqueo pesimista

(1) Bloqueos a nivel de fila de la base de datos

La base de datos proporciona un mecanismo de bloqueo a nivel de fila, que puede bloquear filas de datos en una transacción.

Al utilizar la instrucción SELECT... FOR UPDATE en la transacción, puede obtener el bloqueo pesimista en la fila de datos, y otras transacciones deben esperar a que se libere el bloqueo para funcionar.

(2) Cerradura distribuida

En los sistemas distribuidos, los bloqueos pesimistas se pueden implementar mediante bloqueos distribuidos.

Hay muchas formas de implementar bloqueos distribuidos, como basados ​​en bases de datos, basados ​​en caché, basados ​​en ZooKeeper, etc. Al adquirir bloqueos distribuidos, se puede garantizar el bloqueo pesimista de datos en un entorno distribuido.

(3) Lectura pesimista

Al leer datos, utilice directamente el bloqueo pesimista para bloquear los datos, y otras operaciones deben esperar hasta que se libere el bloqueo. Este método es adecuado para escenarios con más escrituras y menos lecturas para garantizar la coherencia de los datos.

Finalmente: el video tutorial completo de prueba de software a continuación se ha ordenado y subido, y los amigos que lo necesiten pueden obtenerlo ellos mismos [Garantizado 100% gratis]

Documentación de la entrevista de prueba de software

Debemos estudiar para encontrar un trabajo bien remunerado. Las siguientes preguntas de la entrevista son los últimos materiales de entrevista de empresas de Internet de primer nivel como Ali, Tencent y Byte, y algunos jefes de Byte han dado respuestas autorizadas. Termine este conjunto Los materiales de la entrevista Creemos que todos pueden encontrar un trabajo satisfactorio.

Supongo que te gusta

Origin blog.csdn.net/wx17343624830/article/details/132478841
Recomendado
Clasificación