Java中的线程相反

时间:2015-03-10 07:08:48

标签: java multithreading synchronized

我想在java中制作Opposite Thread。

如果Thread A正在运行,则Thread B正在等待。 另一方面,Thread B正在运行,然后Thread A正在等待。

A : -----       ------------------     -----------

B :    ------------          --------

我想用wait()编写代码,通知function(not suspend(), resume) 但对我来说这很难。

帮帮我

1 个答案:

答案 0 :(得分:0)

您需要同步两个变量。

public class T1 implements Runnable {
    public static final Object LOCK = new Object();  

    public void run() {
        try {
            while (true) {
                // Your code here
                T2.LOCK.notify();
                T1.LOCK.wait();
            }
        } catch (Exception e) {
            // Handle exception
        }
    }
}

public class T2 implements Runnable {
    public static final Object LOCK = new Object();

    public void run() {
        try {
            T2.LOCK.wait();
            while (true) {
            // Your code here
                T1.LOCK.notify();
                T2.LOCK.wait();
            }
        } catch (Exception e) {
            // Handle exception
        }
    }
}