¿Por qué es necesaria la sincronización de subprocesos? Nombre varios métodos de sincronización de subprocesos.
Los hilos a veces devuelven ciertos recursos compartidos con otros hilos, como memoria, base de datos, etc. Cuando varios subprocesos leen y escriben el mismo recurso compartido al mismo tiempo, pueden producirse conflictos. En este momento, necesitamos introducir un mecanismo de "sincronización" de subprocesos, es decir, los subprocesos deben usarse en orden, no al azar.
Método de sincronización de subprocesos
1. esperar (): ponga el subproceso en estado de espera y libere el objeto retenido por el candado.
2. sleep(): pone el hilo en ejecución en estado de suspensión. Es un método estático que puede detectar la excepción InterruptedException.
3. dormir(): pone el hilo en ejecución en estado de suspensión.
3. notify(): activa el hilo en estado de espera. Tenga en cuenta que cuando se llama a este método, el hilo en estado de espera no se puede activar por completo. En cambio, la JVM decide qué hilo activar. arriba, en lugar del hilo en el estado de espera.
4. notityAll(): activa todos los subprocesos en estado de espera. Tenga en cuenta que no les otorga un bloqueo de objeto a todos los subprocesos activados, pero les permite competir.
Extensión:
En términos generales, crear un solo subproceso no mejora la eficiencia de ejecución del programa, por lo que es necesario crear varios subprocesos. Sin embargo, cuando se ejecutan varios subprocesos al mismo tiempo, se pueden llamar funciones de subprocesos y cuando varios subprocesos escriben datos en la misma dirección de memoria al mismo tiempo, los datos escritos se sobrescribirán varias veces debido a problemas de programación de la CPU, por lo que el Los hilos deben estar sincronizados.
En la programación de subprocesos múltiples, varios subprocesos no pueden acceder a algunos datos confidenciales al mismo tiempo. En este momento, se debe utilizar tecnología de acceso sincrónico para garantizar que se acceda a los datos en. más un hilo en cualquier momento, garantizando así la seguridad de los datos.
Materiales de referencia: Enciclopedia Baidu - Sincronización de subprocesos Enciclopedia Baidu - Sincronización de subprocesos strong>