Java中的反向线程

Java中的反向线程,java,multithreading,synchronized,Java,Multithreading,Synchronized,我想用java制作相反的线程 如果线程A正在运行,则线程B正在等待。 另一种方式是,线程B正在运行,然后线程A正在等待 A : -----       ------------------     ----------- B :    ------------          -------- 我想用wait(),notify函数(不挂起(),恢复) 但这对我来说很难 帮助我您需要同步两个变量 public class T1 implements Runnable { public

我想用java制作相反的线程

如果
线程A
正在运行,则
线程B
正在等待。 另一种方式是,
线程B
正在运行,然后
线程A
正在等待

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

B :    ------------          --------
我想用
wait()
,notify
函数(不挂起(),恢复)
但这对我来说很难


帮助我

您需要同步两个变量

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
        }
    }
}

好 啊。。你在哪里被绊倒了?你认为什么是困难的?您尝试过解决吗?可能的文档副本是您的朋友-从开始,并尝试使用一些代码进行实验。这比我们试图用这样一个非常广泛的问题来解释这些概念要好得多。如果你有一个基于所学内容的特定问题,请回来。即使对我来说很难,直到我真正编写它!