【发布时间】:2019-10-31 21:54:01
【问题描述】:
我正在尝试了解如何在 java 中实现线程。
现在我知道你可以使用接口runnable和run方法来实现线程。
但是如果我想拥有同一个类的两个不同线程,它们运行这个类的不同方法呢?我只能重写一次 run 方法,所以我是否必须区分例如线程的名称才能运行正确的方法?
public class PrintState {
private int state = 0;
public synchronized void printNewState() throws InterruptedException {
wait();
System.out.println(state);
}
public synchronized void setValue(int v) {
state = v;
notify();
System.out.println("value set");
}
}
我希望有两个线程同时运行 printNewState() 和 setValue(12) 方法,每个线程都在不同的线程中。
如何实现run() 方法和主方法中的线程以实现此目的?
后面的结果应该是:value set12
【问题讨论】:
标签: java multithreading synchronization