El bloqueo de grano grueso puede significar dos cosas … en el caso de su enlace, significa bloquear más de lo que realmente necesita bloquear para proteger un recurso compartido de otros hilos. La otra definición tiene más que ver con las partes internas del mecanismo de bloqueo … con qué frecuencia es posible bloquear y desbloquear algo. No necesita preocuparse por eso, por ahora.
Entonces, en el caso extremo de lo que quieres hacer, puedes poner un bloqueo sobre toda la lista vinculada. Encapsule su lista vinculada en una clase con un método sincronizado para cada transacción que desee realizar en la lista vinculada. Todos los otros subprocesos que intenten realizar dichas transacciones no podrán acceder a la lista hasta que se complete el método sincronizado que se está ejecutando actualmente. Este es el mecanismo de bloqueo “monitor”.
Es posible bloquear solo la segunda mitad de la lista si solo está modificando la primera mitad, para un ejemplo rudimentario de bloqueo de grano más fino.
- ¿Cómo se puede dividir una secuencia de enteros 'n' en particiones contiguas y no vacías 'm' de manera eficiente de modo que la suma de los máximos de todas las particiones 'm' sea mínima (m <n)?
- ¿Qué tan útil es la preparación de InterviewBit para candidatos que tienen 0 a 3 años de experiencia industrial?
- ¿Cómo debo usar sugerencias para descifrar la entrevista de codificación?
- Cómo evitar mostrar mi transcripción durante el proceso de entrevista
- ¿Cuáles son las preguntas interesantes que se hacen en una entrevista de Visa?