bloqueo de hilo de java
Use palabras clave sincronizadas en hilos Java para lograr la sincronización
Sincronizado puede bloquear los métodos, bloquear las clases, bloquear objetos, bloquear los bloques de código
Bloqueo del método
// El bloqueo de sincronización agregado al método es este público sincronizado sincronizado imprime () {System.out.println ("Método sincronizado"); intente {Thread.sleep (3000); } catch (InterruptedException e) {E.PrintStackTrace (); }}Cerradura de clase
Public sincronizado void print (string msg) {// class Lock Synchronized (mythread.class) {system.out.println (msg); intente {Thread.sleep (3000); } catch (InterruptedException e) {E.PrintStackTrace (); }}} Bloqueo de objetos
Tome los boletos de tren como ejemplo
Public Class Window extiende Thread {Public Window (Nombre de cadena) {super (nombre); } static int tick = 100; cadena estática obj = new String (); @Override public void run () {// Comience a vender tickets while (tick> 0) {// Synchronize Bloque de código // una tecla de bloqueo // Todos los hilos deben cola aquí sincronizado (obj) {if (tick> 0) {System.out.println (getName () + "vendido [" + tick] ticket "); // Lost the cpu recurre; }} try {thread.sleep (100); } catch (InterruptedException e) {E.PrintStackTrace (); }}}}Gracias por leer, espero que pueda ayudarte. ¡Gracias por su apoyo para este sitio!