¿Cómo lograr la seguridad de los subprocesos?
1: El bloqueo utiliza Synchronized o ReenTrantLock para bloquear objetos inseguros para lograr la serialización de la ejecución del subproceso, garantizando así la seguridad de los objetos operados por múltiples subprocesos al mismo tiempo. Uno es el nivel de sintaxis de interacción. Uno es un bloqueo mutex a nivel de API.
2: Sincronización sin bloqueo para lograr la seguridad de los subprocesos. El principio es: en términos simples, es una operación avanzada. Si no hay otros subprocesos compitiendo por los datos compartidos, la operación será exitosa; si hay disputa por los datos compartidos y se produce un conflicto, se tomarán otras medidas; tomado (la medida más común es seguir intentándolo nuevamente hasta tener éxito). Este método requiere soporte de hardware porque necesitamos que los dos pasos de operación y detección de conflictos sean atómicos. Por lo general, estas instrucciones incluyen CAS SC, FAI TAS, etc.
3: La localización de subprocesos, una solución sin sincronización, consiste en utilizar Threadlocal para crear una copia de la variable compartida para cada subproceso para evitar varios subprocesos (las copias no están relacionadas). Se producen problemas de seguridad de subprocesos al operar un objeto simultáneamente