我想知道如何使這些線程一個接一個地工作,以及如何使第一個線程在第二個線程之後始終運行。我創建了一個信號量,但我不確定如何使用它。使用信號燈
public class A extends Thread {
private int i;
public A(int x) {
i = x;
}@
Override
public void run() {
System.out.println(i);
}
}
/**主**/
A c1 = new A(5);
A c2 = new A(6);
Semaphore s = new Semaphore(1, true);
c1.start();
c2.start();
new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
System.out.println("+");
}
}
}).start();
new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(70);
} catch (InterruptedException e) {}
System.out.println("*");
}
}
}).start();
一個其他=連續之後。爲什麼你想要多個線程? –
爲了行使我在控制線程 – Csi
這沒有任何意義。開始第一個線程。 '加入'就可以了。然後'開始'第二個線程。然後'加入'。這裏沒有理由使用「信號量」。 –