ejemplo de comunicación hilo

E hilo interactivo: la comunicación hilo 
   método utilizado por la espera (), el Notify () / notify ();
la espera (): Deje que el hilo actual en el estado de bloqueo y liberar el bloqueo.
notificar (): estela es un hilo de espera (), si varios subprocesos, despierta más alta prioridad.
notifyAll (): despertar toda hilo de la espera ().

Nota: wait (), notify () , notify () sólo puede aparecer en el bloque de código de sincronización, el método de sincronización
  invocación debe estar sincronizado método de sincronización de bloque o en el mismo monitor de sincronización
  si la persona aparecerá IllegalMonitorStateException anormal de
  la espera (), notificar (), notify () se define en el paquete java.lang
ejemplo:
Tema paquete;

/ **
* @auto DH
* @Create 2020-03-28-17: 02
* /
clase NumberDemo {
private int Número;

NumberDemo pública ( int numero) {
this.number = número;
}

pública iterator1 (vacío) {


el tiempo (true) {
el sincronizada (del este) {
this.notify ();
si (número <= 100) {
System.out.println (Thread.currentThread () getName () + ":". + número);
número ++;
}
Try {
this.wait ();
} Catch (InterruptedException e) {
e.printStackTrace ();
}

}
}
}
}

Clase Test006 extiende Tema {
privado NumberDemo numberDemo;

Test006 pública (NumberDemo numberDemo) {
this.numberDemo = numberDemo;
}

Public void run () {
this.numberDemo.iterator1 ();
}
}


Public class Thread006 {
public static void main (String [] args) {
NumberDemo numberDemo = new NumberDemo (0);
Test006 ts = new Test006 (numberDemo);
ts.setName ( "线程一");
Test006 TS2 = nuevo Test006 (numberDemo);
ts2.setName ( "线程二");
ts.start ();
ts2.start ();
}
}

Supongo que te gusta

Origin www.cnblogs.com/kukai/p/12588941.html
Recomendado
Clasificación