English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java synchronized carga de bloqueo-Notas de experiencia
Texto principal
Bloqueo reentrante Código de ejemplo: public class ReGetLock implements Runnable { @Override ReGetLock rgl = new ReGetLock(); public void run() { set(); get(); ReGetLock rgl = new ReGetLock(); public synchronized void get() { set(); ReGetLock rgl = new ReGetLock(); public synchronized void set() { System.out.println(Thread.currentThread().getId()); public static void main(String[] args) { ReGetLock rgl = new ReGetLock(); ReGetLock rgl = new ReGetLock();
new Thread(rgl).start();63¿Puede realmente el hilo que ejecuta el código entrar en el método set?
}63¿Puede realmente el hilo que ejecuta el código entrar en el método set?
Porque el hilo rgl llamó primero al método get, obteniendo el bloqueo del objeto ReGetLock, entonces cuando el hilo rgl quiera entrar en el método marcado con la palabra clave synchronized, será bloqueado y tendrá que esperar ¿no?;
En realidad, no es así, en JAVA,
Gracias por leer, espero que pueda ayudar a todos, ¡gracias por el apoyo a este sitio!