Во-первых, я новичок в темах в java, поэтому, если я что-то пропустил, просто скажите. У меня есть программа таймера. В нем я запускаю тему, которую я бы хотел notify()
и wait()
. Я получил эту ошибку и посмотрел ее здесь. Я нашел тот же вопрос, и верхний ответ дал пример. Я попытался реализовать это, однако я все еще получаю ошибку. В ответе говорится, что вы должны создать очередь для добавления объекта. Любые идеи и помощь приветствуется. Вот код, где я пытаюсь notify()
и wait()
.
final Queue<Thread> queue = new Queue<Thread>() {...}
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (button2.getText().equals("Continue")) {
button2.setText("Pause");
synchronized (thread) {
queue.add(thread[0]);
thread[0].notify();
}
}
else {
button2.setText("Continue");
try {
synchronized (thread) {
while (queue.peek() == null) {
thread[0].wait();
}
thread[0] = queue.remove();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
И поток:
final Thread[] thread = {new Thread() {
@Override
public void run() {
while (button1.getText().equals("Clear")) {
boolean cont = button2.getText().equals("Pause");
long time = timer(cont, prev, start[0]);
update_label(time);
}
}
}};