verwenden, nur in einen Code wie folgt aus:Als ich lief Guava sameThreadExecutor
ExecutorService executorService = MoreExecutors.sameThreadExecutor();
for (int i = 0; i < 10; i++) {
executorService.submit(new Callable<Void>() {
@Override
public Void call() throws Exception {
try {
Do some work here...
return null;
} catch (final Exception e) {
throw e;
} finally {
//
}
}
});
}
Jede Differenz zwischen diesem und dem Codeausschnitt unten? Wenn ich es richtig verstehe, verwendet sameThreadExecutor denselben Thread, der submit() aufruft, was bedeutet, dass alle diese 10 "Jobs" nacheinander im Hauptthread ausgeführt werden.
for (int i = 0; i < 10; i++) {
try {
Do some work here...
} catch (final Exception e) {
throw e;
} finally {
//
}
}
Vielen Dank!
Es ist das gleiche. Ein häufiger Anwendungsfall sind Unit-Test-Klassen, bei denen die Komplexität der asynchronen Ausführung nicht berücksichtigt werden soll. –