Ich habe den folgenden Abschnitt von JavaFX, die Service
Klasse implementiert:Service-Klasse läuft nicht
public void processingImage() {
Task<Void> track = new Task<Void>() {
@Override
protected Void call() throws Exception {
while (true) {
if (flag == false) {
if (someCondition) {
flag = true;
CommunicateServer.sendObject = new Object[2];
CommunicateServer.sendObject[0] = 6;
CommunicateServer.sendObject[1] = "hello";
myService.start();
flag = false;
System.out.println("this line does not print");
}
}
return null;
}
};
Thread th1 = new Thread(track);
th1.setDaemon(true);
th1.start();
}
Und die MyService
Klasse implementiert als:
private class MyService extends Service<Void> {
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
CommunicateServer.callSendObject(CommunicateServer.sendObject, true);
response = CommunicateServer.getObject();
System.out.println("this print should have been many times but only executed once!!!!");
return null;
}
};
}
}
Mein Problem ist, obwohl ich den Code erwarten Zum Drucken this line does not print
wird der Code tatsächlich nicht gedruckt. Außerdem wird die Zeile this print should have been many times but only executed once!!!!
nur einmal gedruckt, obwohl ich denke, dass sie viele Male gedruckt worden sein sollte. Ich weiß nicht, wie ich dieses Problem beheben kann. Jede Hilfe oder Anregung wird mit Dankbarkeit erfüllt.
Danke für die Antwort. Das hat funktioniert!!!!! Ich war mir nicht sicher, aber allmählich lernte ich es :) –