Я создал новый поток под названием ThreadA
и начал это в основном потоке.Управление не возвращается к ожидающей нити после уведомления
Я ожидал, что некоторые операции будут завершены в ThreadA
.
После некоторых операций я отправил уведомление с использованием notify
.
Но код ниже wait
в основном потоке не вызывается, он ждет завершения всего кода ThreadA
.
Является ли это нитью или просто потоком, получающим доступ для запуска проблемы?
Job job = new MyJob();
job.schedule();
synchronized(job) {
job.wait();
sysout("After notify");
}
Здесь job
является org.eclipse.core.runtime.jobs
Внутри Работы запустить метод:
run {
synchronized(this) {
step 1();
notify();
step 2();
}
}
Здесь шаг 2 является большим кодом.
Пожалуйста, покажите свой код (как именно вы вызываете 'wait' и' notify'). – yole
Job job = new MyJob(); job.schedule(); синхронизированы (работа) {job.wait(); sysout («После уведомления»)} Здесь задание - org.eclipse.core.runtime.jobs. – user3302323
Внутренний метод запуска работы: запустите {synchronized (this) {step 1(); поставить в известность(); step 2();}} Здесь шаг 2 - это большой код. – user3302323