Eine Frage zu den Threads und Task

Joob

Top Contributor
Stimmt das so ?

Der Thread ist der Adressbereich auf dem Prozessor,
der Task als das was getan wird, definiert die Größe des auf dem Prozessor reservierten Adressbereichs für den Thread
Der Thread könnte dann auch als InstanzVariable definiert werden
und an verschiedenen Stellen in der Klasse gebraucht werden, wobei er immer den Task ausführt
oder wenn wie hier in der Methode deklariert, innerhalb der Methode mehrfach gestartet werden.

Man kann auch die Befehle unter run direkt in den Thread schreiben, aber warum das nicht tun soll weiß ich noch nicht.


Und dann war da noch eine Stelle die mir in einer Lösung mitgegeben wurde ich aber nicht genau verstanden habe.
Was passiert da, warum die beiden Gleichheitszeichen ?
Das das eine Kopie ist erklärt sich aber was passiert dadurch das ich die beiden Gleichheitszeichen in dem Befehl verwende.


Java:
List<PVA00001_DataWordsWithoutSkillTVC> delOLst = delOLst = List.copyOf(tableview.getSelectionModel().getSelectedItems());
 
Stimmt das so ?

Der Thread ist der Adressbereich auf dem Prozessor,
der Task als das was getan wird, definiert die Größe des auf dem Prozessor reservierten Adressbereichs für den Thread
Nein, das beides ist völliger Unsinn.
Zu Threads: https://docs.oracle.com/javase/tutorial/essential/concurrency/procthread.html

(JavaFX-) Task's sind einfach nur eine Abstraktion für eine "Aufgabe", die nebenläufig (also in einem Thread) erledigt werden soll, und bietet JavaFX-Propertys, um das ganze zu "beobachten".

Der Thread könnte dann auch als InstanzVariable definiert werden
und an verschiedenen Stellen in der Klasse gebraucht werden, wobei er immer den Task ausführt
oder wenn wie hier in der Methode deklariert, innerhalb der Methode mehrfach gestartet werden.
Ein Thread kann nur ein einziges Mal gestartet werden, also Nein.

Man kann auch die Befehle unter run direkt in den Thread schreiben, aber warum das nicht tun soll weiß ich noch nicht.
In nahezu allen Fällen ist das direkte Nutzen von Thread Unsinn, nutzt man direkt eine Abstraktion in Form von zB Runnable kann man das im Nachhinein einfacher ändern.

Und andere Abstraktionen wie zB Task bietet noch weitere Vorteile, wie zB die passende Anbindung an JavaFX.

Und dann war da noch eine Stelle die mir in einer Lösung mitgegeben wurde ich aber nicht genau verstanden habe.
Was passiert da, warum die beiden Gleichheitszeichen ?
Das das eine Kopie ist erklärt sich aber was passiert dadurch das ich die beiden Gleichheitszeichen in dem Befehl verwende.
Das ist einfach nur ein Copy-Paster Fehler, das eine delOLst = kann einfach entfernt werden effektiv bewirkt es auch genau gar nichts.

Grundsätzlich kann man sowas nutzen, um einen Wert zwei Variablen zuzuweisen, führt allerdings eher zu schlechtem Code.
 

Zurück
Oben