Может ли ожидание / уведомление использоваться в одном потоке?
Я имею в виду, что у меня есть слушатель, и в тот момент, когда его слушают, я хочу, чтобы поток мог выполнять его работу. Как я могу это сделать?
ОБНОВЛЕНИЕ: Мои данные записываются в базу данных ... и записываются каждый раз, когда вызывается слушатель. Теперь созданный мной поток читает эти данные и отправляет их куда-то ....
Далее ... я получаю некоторые другие данные и делаю то же самое .... Другой поток должен знать, какие последние данные он прочитал, чтобы он мог начать читать с того места, где он ушел ....
Посмотрите здесь:
используя ожидание и уведомление в одном потоке
Вот так выглядит моя проблема. Спасибо
У меня есть следующее:
synchronized (syncToken)
{
try {
syncToken.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("MyThread: " + s);
в MyThread
.... поэтому, когда я делаю
MyThread t = new MyThread(syncToken);
t.start();
Я положил свою ветку на ожидание ... да?
И когда я делаю это:
syncToken.notify();
Я возвращаю свою нить в нужное русло .... но выполнение следующей строки выполняется после wait ()?
Я имею в виду это: System.out.println("MyThread: " + s);
????
Когда вы уведомляете thred, он продолжает выполнение со строки после wait () ??? Thx