xem xét đoạn mã sau:phương pháp Java hai đồng bộ trong một trường hợp
public class SynchronizedCounter extends Thread {
private int c = 0;
public synchronized void increment() {
c++;
}
public synchronized void decrement() {
c--;
}
public void run() {
for(;;)
increment();
}
}
static void main(String[] args) {
SynchronizedCounter counter = new SynchronizedCounter();
counter.start();
for(;;)
counter.decrement();
}
thực hiện điều này có nghĩa là increment() và giảm một() phương pháp này sẽ chờ nhau để kết thúc hay không?
EDIT: và điều này không chờ đợi?
static void main(String[] args) {
SynchronizedCounter counter1 = new SynchronizedCounter();
SynchronizedCounter counter2 = new SynchronizedCounter();
counter1.start();
for(;;)
counter2.decrement();
}
yeah, bạn là đúng về mở rộng Chủ đề, chỉ cần sửa mã :) – MBZ