Übung Java Thread Diagonalhttps://www.std.ch/threadsafety?&atomFri, 29 Mar 2024 00:20:16 +0000stack.ch
https://stack.ch/
1e260dde-ed62-11ee-8c11-005056bb85fbSimtech AG - Ausbildung - Java - Kurs Java Advanced - Kurs Java Advanced - Ressourcen - Kurs Java Advanced - Übungen Threads - Übung Java Thread Diagonal
https://www.std.ch/threadsafety
1e260f67-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000Übung Java Thread Diagonal
https://www.std.ch/threadsafety
1e26121b-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000
https://www.std.ch/threadsafety
1e261479-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000Mit dieser Übung soll ein Punkt durch 2 Threads so innerhalb des Koordinatensystems bewegt werden, dass dieser die Diagonale nicht verlässt. Die folgende Grafik zeigt dies auf:Hierzu sind die folgenden Klassen zu programmieren:Zu den einzelnen Klassen:Die Klasse Point beschreibt den Punkt. Die Attribute x und y enthalten die Koordinaten des Punktes. Die Methode void movePoint (int x, int y) verschiebt den Punkt relativ. Die Methode boolean isDiagonal () gibt den Wert true zurück, falls sich der Punkt auf der Diagonalen (x == y || -x == y) is true befindet, andernfalls false. Die Methode String toString() soll den Zustand der Punktinstanz als String zurückgeben.Diese Klasse MovePoint verschiebt den Punkt über die Method movePoint(..) der Point-Instanz. Die Klasse implementiert das Interface Runnable und damit die Methode void run(). MovePoint enthält ein Attribut vom Typ Point Die Attribute xmove und ymove enthalten den relativen Wert der Verschiebung.Diese Klasse Diagonal Diese Klasse bildet die eigentliche Anwendung. Innerhalb der Methode main() wird eine Point-Instanz erzeugt und alsdann die beiden MovePoint-Instanzen, wobei eine Instanz den Punkt nach Nordwesten mit den Werten -1,1 und die andere den Punkt nach Südosten mit dem Wert 1,-1 verschiebt. Alsdann werden beide Threads erzeugt und gestartet. Innerhalb einer Endlosschleife sollen die Positionen des Punktes über die Methode toString() am Bildschirm angezeigt werden.
https://www.std.ch/threadsafety
1e26248c-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000Lösen Sie bitte die Aufgabe wie folgt:Erzeugen Sie ein neues Java Projekt für diese Übung.Programmieren Sie die Klasse Point gemäss der Beschreibung aus.Programmieren Sie die Klasse MovePoint gemäss der Beschreibung aus.Programmieren Sie die Klasse Diagonal gemäss der Beschreibung aus.Kompilieren Sie das Programm und führen Sie es bitte aus.Verifizieren Sie, ob sich der Punkt immer auf der Diagonalen befindet.Korrigieren Sie das Programm, bis der Punkt wirklich diagonal verläuft.
https://www.std.ch/threadsafety
1e262852-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000Eine mögliche Lösung finden Sie hier
https://www.std.ch/threadsafety
1e263198-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000Programmieren Sie die Synchronisation und damit Threadsafety mit dem Lock Interface und der Implementation ReentrantLock um. Damit ersetzen wir das synchronized Keyword.
https://www.std.ch/threadsafety
1e2632ff-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000Eine mögliche Lösung finden Sie hier
https://www.std.ch/threadsafety
1e263d05-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000Neu sollen die Threads durch einen fixen Thread Pool und damit den ExecutorService ersetzt werden. Programmieren Sie das Dialog Beispiel entsprechend um und verwenden Sie einen fixen Thread Pool mit maximal 2 Threads.
https://www.std.ch/threadsafety
1e263fc3-ed62-11ee-8c11-005056bb85fbFri, 29 Mar 2024 00:20:16 +0000Eine mögliche Lösung finden Sie hierÜber uns
https://www.std.ch/about
Fri, 29 Mar 2024 00:20:16 +00001e264810-ed62-11ee-8c11-005056bb85fbAktuell
https://www.std.ch/
Fri, 29 Mar 2024 00:20:16 +00001e264a3d-ed62-11ee-8c11-005056bb85fbAGB
https://www.std.ch/agb
Fri, 29 Mar 2024 00:20:16 +00001e264afa-ed62-11ee-8c11-005056bb85fbBildungswege
https://www.std.ch/bildungswege
Fri, 29 Mar 2024 00:20:16 +00001e264ba4-ed62-11ee-8c11-005056bb85fbBlog
https://www.std.ch/blog
Fri, 29 Mar 2024 00:20:16 +00001e264db3-ed62-11ee-8c11-005056bb85fbRufen Sie mich an
https://www.std.ch/callus
Fri, 29 Mar 2024 00:20:16 +00001e264e81-ed62-11ee-8c11-005056bb85fbCharts
https://www.std.ch/charts
Fri, 29 Mar 2024 00:20:16 +00001e264f27-ed62-11ee-8c11-005056bb85fbConsulting
https://www.std.ch/consulting
Fri, 29 Mar 2024 00:20:16 +00001e265128-ed62-11ee-8c11-005056bb85fbKontakt
https://www.std.ch/contact
Fri, 29 Mar 2024 00:20:16 +00001e265207-ed62-11ee-8c11-005056bb85fbAusbildung/Kurse
https://www.std.ch/education
Fri, 29 Mar 2024 00:20:16 +00001e265471-ed62-11ee-8c11-005056bb85fbSoftware Engineering
https://www.std.ch/engineering
Fri, 29 Mar 2024 00:20:16 +00001e265553-ed62-11ee-8c11-005056bb85fbFreelancer
https://www.std.ch/freelancer
Fri, 29 Mar 2024 00:20:16 +00001e2655f6-ed62-11ee-8c11-005056bb85fbImpressum
https://www.std.ch/impressum
Fri, 29 Mar 2024 00:20:16 +00001e2657f5-ed62-11ee-8c11-005056bb85fbKursleiter
https://www.std.ch/kursleiter
Fri, 29 Mar 2024 00:20:16 +00001e2658d0-ed62-11ee-8c11-005056bb85fbNetzwerk
https://www.std.ch/network
Fri, 29 Mar 2024 00:20:16 +00001e265986-ed62-11ee-8c11-005056bb85fbReferenzen
https://www.std.ch/references
Fri, 29 Mar 2024 00:20:16 +00001e265b3e-ed62-11ee-8c11-005056bb85fbSitemap
https://www.std.ch/sitemap
Fri, 29 Mar 2024 00:20:16 +00001e265c63-ed62-11ee-8c11-005056bb85fbTools
https://www.std.ch/tools
Fri, 29 Mar 2024 00:20:16 +00001e265d24-ed62-11ee-8c11-005056bb85fbVision
https://www.std.ch/vision
Fri, 29 Mar 2024 00:20:16 +00001e265f0b-ed62-11ee-8c11-005056bb85fb