Drucken "Hallo" und "Welt" mehrere Male unter Verwendung von zwei threads in java

Davon ausgehen, dass ein thread "Hello" und anderen Drucke der "Welt". Ich habe es erfolgreich für eine Zeit, wie folgt:
Paket threading;

public class InterThread {

    public static void main(String[] args) {
        MyThread mt=new MyThread();
        mt.start();
        synchronized(mt){
            System.out.println("Hello");
            try {
                mt.wait();
                i++;
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

    }

}

class MyThread extends Thread{

    public void run(){
        synchronized(this){
        System.out.println("World!");
        notify();
        }
    }
}

Wie mache ich es für mehrere Zeit-Druck, sagen wir für 5 mal? Ich versucht, indem Sie für die Schleife um den synchronisierten block, aber keinen nutzen.

  • Vielleicht sollten Sie sich Gedanken über zwei Schleifen.
  • Vielleicht sollten Sie darüber nachdenken, mit CyclicBarrier.
  • Dies ist nicht gewährleistet, dass Sie immer print Hallo Welt! - der Haupt-thread unterbrochen werden könnte zwischen mt.start(); und synchronisiert(mt)
Schreibe einen Kommentar