Ich habe einen neuen Thread namens ThreadA
erstellt und diesen im Hauptthread gestartet.Die Steuerung kehrt nach der Benachrichtigung nicht zum wartenden Thread zurück
Ich wartete auf einige Operationen in ThreadA
abgeschlossen werden.
Nach einigen Operationen habe ich Benachrichtigung gesendet notify
.
Aber der Code unter den wait
im Hauptthread wird nicht aufgerufen, wartet sie auf den gesamten Code der ThreadA
abzuschließen.
Ist es die Art der Threading oder einfach Thread Zugang zum Laufproblem zu bekommen?
Job job = new MyJob();
job.schedule();
synchronized(job) {
job.wait();
sysout("After notify");
}
Hier job
ist org.eclipse.core.runtime.jobs
Inside Job ausführen Methode:
run {
synchronized(this) {
step 1();
notify();
step 2();
}
}
Hier Schritt 2 ist groß Code.
Bitte zeigen Sie Ihren Code (wie genau Sie rufen "warten" und "benachrichtigen"). – yole
Job job = neu MyJob(); job.schedule(); synchronisiert (job) {job.wait(); sysout ("Nach Benachrichtigung")} Hier ist der Job org.eclipse.core.runtime.jobs. – user3302323
Inside Job run-Methode: run {synchronized (this) {step 1(); benachrichtigen(); Schritt 2();}} Hier ist Schritt 2 großer Code. – user3302323