これが少し基本的な質問である場合は申し訳ありませんが、複数のスプライト ループを実行することを考えていました。初めて、両方の while(true) ループを使用してメインで 2 つのスレッドを作成しようとしました。私の意図: 2 つのスレッドを同時にループさせることです。ただし、プログラムを実行すると、実行の流れが中断されたように見え、2 番目のループは新しいスレッドで実行されず、スレッドの最初の無限 while() ループでプログラムがスタックして停止します。新しいスレッドを開始してから続行するのではなく、メインスレッドを実行しているだけだと思います。
私はそれを2つの方法で試しました:
スレッドで一度:
public class Zzz {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
r1 r = new r1();
r2 a = new r2();
r.start();
a.start();
}
}
public class r1 extends Thread {
@Override
public void start() {
while(true) {
System.out.println("r1");
try {
this.sleep(100);
} catch (Exception ex) {
}
}
}
}
public class r2 extends Thread {
@Override
public void start() {
while(true) {
System.out.println("r2");
try {
this.sleep(100);
} catch (Exception ex) {
}
}
}
}
そしてRunnableで一度:
public class Zzz {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
r1 r = new r1();
r2 a = new r2();
r.run();
a.run();
}
}
public class r1 implements Runnable {
@Override
public void run() {
while(true) {
System.out.println("r1");
try {
Thread.sleep(100);
} catch (Exception ex) {
}
}
}
}
public class r2 implements Runnable {
@Override
public void run() {
while(true) {
System.out.println("r2");
try {
Thread.sleep(100);
} catch (Exception ex) {
}
}
}
}
しかし、役に立たない。常に R1 でスタックします。アイデアはありますか?私はググってスレッドを見回しましたが、これがどこにもカバーされていません。