public abstract class Multithread implements Runnable{
static Thread t1 = new Thread(){
public synchronized void run(){
try {
for(;;){
System.out.println("java");
t1.sleep(300);
}
} catch (Exception e) {
System.out.println("Exception"+e);
}
}
};
static Thread t2 = new Thread(){
public synchronized void run(){
try{
for(;;){
System.out.println("world");
t2.sleep(300);
}
}catch(Exception e){
System.out.println("Exception"+e);
}
}
};
public static void main(String[] args) {
try{
t1.start();
t2.start();
}catch(Exception e){
System.out.println("Exception "+e);
}
}
@Override
public void run() {
System.out.println("running");
}
}
例外的な O/P:
java
world
java
world
java
world
.
.
.
.
スレッドに sleep() を使用してみ ましたが、このようにある時点でオーバーラップしています-
java
java
world
java
world
world
java
..
これら2つのスレッドを並行して実行する必要があり、重複してはならず、どちらのスレッドも開始できると予想されます。何か案が?