Я пытаюсь понять, как реализовать потоки в 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 set
12