Ich fragte mich, welcher wäre der effizienteste Ansatz, um irgendeine Art von Hintergrund-Aufgabe in Java zu implementieren (ich denke, das wäre eine Art von nonblocking Threads). Um genau zu sein - ich habe etwas Java-Code und dann muss ich irgendwann eine lang andauernde Operation ausführen. Ich möchte diese Operation im Hintergrund ausführen, damit der Rest des Programms weiter ausgeführt werden kann, und wenn diese Aufgabe abgeschlossen ist, aktualisieren Sie einfach ein bestimmtes Objekt, das. Diese Änderung würde dann von anderen Komponenten erkannt werden.Java Hintergrund Aufgabe
Antwort
Sie Themen-Pools verwenden sollten,
http://java.sun.com/docs/books/tutorial/essential/concurrency/pools.html
Naïve Idee: Sie könnten in der Lage sein Thema zu erstellen, ist es eine niedrige Priorität geben und tun eine Schleife aus:
- ein wenig Arbeit zu tun
- mit Ertrag oder Schlaf zu anderen Threads lassen arbeitet in parrallel
das würde davon abhängen, was Sie wollen eigentlich in deinem Thread
Sie tun möchten, einen neuen Thread machen; je nachdem, wie lange das Verfahren sein muss, können Sie es inline machen:
// some code
new Thread(new Runnable() {
@Override public void run() {
// do stuff in this thread
}
}).start();
Oder einfach nur eine neue Klasse machen:
public class MyWorker extends Thread {
public void run() {
// do stuff in this thread
}
}
// some code
new MyWorker().start();
Ja, Sie gehen wollen Sie den Vorgang ab Spin auf seinen eigenen Thread. Das Hinzufügen neuer Threads kann ein wenig gefährlich sein, wenn Sie nicht vorsichtig sind und wissen, was das bedeutet und wie Ressourcen interagieren. Hier ist eine gute introduction to threads, um Ihnen den Einstieg zu erleichtern.
einen Thread machen. Markieren Sie diesen Thread als Daemon. Die JVM wird beendet, wenn der einzige laufende Thread alle Daemon-Threads sind.
- 1. Rails Hintergrund Aufgabe Overhead
- 2. Heroku Sellerie Hintergrund Aufgabe
- 3. mongodb Hintergrund Aufgabe
- 4. net_http_client_execution_error im Hintergrund Aufgabe
- 5. eine Capistrano Aufgabe im Hintergrund
- 6. Android-Programmierung, Hintergrund Aufgabe (Kontext) im Hintergrund Aufgabe kann nicht angewendet werden()
- 7. Run Bolts Aufgabe auf den Hintergrund Testamentsvollstrecker
- 8. Android Set Video URI im Hintergrund Aufgabe
- 9. Java-Synchronisation Aufgabe
- 10. Eine Bash-Shell nach einem Skript-Hintergrund beenden eine Aufgabe
- 11. Hintergrund der JAVA-Farbkomponente
- 12. Java Graphics2D transparenter Hintergrund
- 13. Hintergrund Verarbeitung Java
- 14. Zeitgesteuerte Aufgabe im Frühjahr/Java
- 15. Gradle Aufgabe für Java Spielplatz
- 16. Java - Planen einer täglichen Aufgabe
- 17. jBPM Finding Aufgabe Java mit
- 18. Planen Sie eine iOS-App-Aufgabe im Hintergrund ausführen
- 19. Aufgabe in den Hintergrund senden und in den Vordergrund bringen
- 20. Internet-Zugang in einer lang andauernden Hintergrund-Aufgabe
- 21. Wie führe ich eine Symfony-Aufgabe im Hintergrund ordnungsgemäß aus?
- 22. Java Bluetooth Vorgehensweise im Hintergrund
- 23. Java FX Menu Hintergrund Farbfehler?
- 24. sbt set java optionen in dynamische Aufgabe
- 25. Java: Eine Aufgabe in zufälligen Intervallen planen
- 26. Eclipse Java Compiler Warnungen als ant Aufgabe
- 27. Äquivalent von Aufgabe Parallele Bibliothek in Java
- 28. Timeout eine Aufgabe mit Java SwingWorker
- 29. ClassNotFoundException mit ant's Java-Aufgabe und Klassenpfad
- 30. Ausgabe der Java-Aufgabe in Ant
Ja, das ist, was ich suchte, insbesondere Executors, .. Danke. – markovuksanovic
Könnten Sie eine eigene Antwort über Testamentsvollstrecker geben? Ich wollte eine sehr ähnliche Frage stellen. Ich denke, dass Executors als eine spezifische Antwort erwähnt werden sollten. Ich würde es eine Aufwertung geben. Ich möchte keine Antwort geben, um zu stehlen. Zumal JEE das Laichen neuer Threads abrät. – Wes