Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus?

berserkerdq2

Bekanntes Mitglied
Hi, ist es bei Lock and Conditions auch so, dass eine parallele Verarbeitung stattfindet, wie bei Threads? Und ist es bei Threads erst so, dass iene parallele Verarbeitugn stattfindet, wenn man synchronized nutzt?
 

Robert Zenz

Top Contributor
Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized?

Also, ob und was wirklich parallel ablaeuft in Threads ist ein Implementierungsdetail des Betriebssystems. Das Betriebssystem entscheidet was wann ausgefuehrt werden soll.

synchronized ist effektiv ein Lock auf den Kontext der Klasse (also entweder Instanz oder Statischen Kontext). Das bedeutet dass eine Methode oder ein Block welcher synchronized ist, ist garantiert dass dieser nicht gleichzeitig von unterschiedlichen Threads betreten wird. Wird eine synchronized Methode oder Block gerade ausgefuehrt und ein anderer Thread will diese ausfuehren, haelt dieser an bis der erste Thread die Methode verlassen hat.

Hi, ist es bei Lock and Conditions auch so, dass eine parallele Verarbeitung stattfindet, wie bei Threads? Und ist es bei Threads erst so, dass iene parallele Verarbeitugn stattfindet, wenn man synchronized nutzt?

Locks sind Locks, die haben nichts damit zutun wie der Code ausgefuehrt wird, die sorgen eben nur dafuer dass ein zweiter Thread diesen Teil nicht parallel ausfuehrt. "Conditions" ist ein Wort, ja, hat alleinstehend aber so richtig gar nichts damit zu tun.
 

berserkerdq2

Bekanntes Mitglied
Also, ob und was wirklich parallel ablaeuft in Threads ist ein Implementierungsdetail des Betriebssystems. Das Betriebssystem entscheidet was wann ausgefuehrt werden soll.

synchronized ist effektiv ein Lock auf den Kontext der Klasse (also entweder Instanz oder Statischen Kontext). Das bedeutet dass eine Methode oder ein Block welcher synchronized ist, ist garantiert dass dieser nicht gleichzeitig von unterschiedlichen Threads betreten wird. Wird eine synchronized Methode oder Block gerade ausgefuehrt und ein anderer Thread will diese ausfuehren, haelt dieser an bis der erste Thread die Methode verlassen hat.



Locks sind Locks, die haben nichts damit zutun wie der Code ausgefuehrt wird, die sorgen eben nur dafuer dass ein zweiter Thread diesen Teil nicht parallel ausfuehrt. "Conditions" ist ein Wort, ja, hat alleinstehend aber so richtig gar nichts damit zu tun.
Hi danke, die Sache ist wir haben eine Aufgabe, wo wir Methoden nicht synchronized haben und dann wird gefragt, findet eine parallele Verarbeitung statt und danach haben wir synchronized Mehtoden, die das Ergebnis leifern, was wir auch wollten. Und da wird dann ebenfalls gefragt, ob eine parallele Verarbeitung stattfindet?
 

berserkerdq2

Bekanntes Mitglied
Hier hast du mal die offizielle Dokumentation zu dem Thema.

Um das nochmal anders auszudruecken: synchronized entspricht einem Lock, sagt aber nichts ueber Threads oder nicht aus.
Ja das habe ich gelesen, deshalb kapiere ich dei Fragestellung nicht, wenn wir das nicht synchronized haben, haben wir nicht das gewünschte Ergebnis,w as wir haben sollten, bei synchronized haben wir es.

Nun ist halt die Frage ob es ohne synchronized parallel läuft und ob es mit synchronized parallel läuft
 
Zuletzt bearbeitet:

httpdigest

Top Contributor
Wie Robert schon sagte, gibt es keine Aussage darüber, ob zwei Threads wirklich parallel ausgeführt werden.
Es gibt aber sehr wohl eine Garantie darüber, dass zwei Threads garantiert nicht parallel/zeitgleich ausgeführt werden, wenn sie sich auf denselben Monitor synchronisieren (per synchronized etwa auf derselben Instanz oder Klasse).
wenn wir das nicht synchronized haben, haben wir nicht das gewünschte Ergebnis,w as wir haben sollten, bei synchronized haben wir es.
Niemand weiß hier, was bei dir das gewünschte und tatsächliche Ergebnis jeweils ist.
 

mihe7

Top Contributor
Um mal auf die Eingangsfragen zurückzukommen:

ist es bei Lock and Conditions auch so, dass eine parallele Verarbeitung stattfindet, wie bei Threads?
synchronized/Locks/Conditions sind weder notwendig noch geeignet, um eine parallele Verarbeitung auszulösen. Dagegen werden sie genutzt, um die gleichzeitige Nutzung einer Ressource im Rahmen einer nebenläufigen Programmierung zu reglementieren.

Und ist es bei Threads erst so, dass iene parallele Verarbeitugn stattfindet, wenn man synchronized nutzt?
Die Frage kann man, wie Du aus den gegebenen Antworten herauslesen kannst, durchaus beantworten: nein.

EDIT: Tippfehler...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
sserio Binomialkoeffizient, wie findet man k und n heraus Java Basics - Anfänger-Themen 18
V Wer findet den Fehler :) Java Basics - Anfänger-Themen 12
P module-info findet zweites Paket nicht Java Basics - Anfänger-Themen 1
I Regex findet keine Treffer Java Basics - Anfänger-Themen 4
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
D jsoup.select findet keine elemente Java Basics - Anfänger-Themen 2
J Compiler-Fehler Java findet main Klasse nicht Java Basics - Anfänger-Themen 16
K Schlüsselworte Nach Java update findet mdb Datei nicht Java Basics - Anfänger-Themen 6
A Vollkommene Zahlen: Findet keine Einzige Java Basics - Anfänger-Themen 9
O Javac findet die .java datei nicht Java Basics - Anfänger-Themen 2
snipesss Eclipse Neon findet meine Projekte nicht? Java Basics - Anfänger-Themen 1
snipesss IDE findet meine .txt Datei nicht! Java Basics - Anfänger-Themen 12
J .jar findet DATEI nicht Java Basics - Anfänger-Themen 2
A Umgebungsvariable CMD findet Hauptklasse nicht (hat bereits funktioniert) Java Basics - Anfänger-Themen 6
N Java find - findet nix Java Basics - Anfänger-Themen 1
S Classpath Findet die Klasse nicht classpath setzen? Java Basics - Anfänger-Themen 8
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
C Jar Datei findet Bibliothek nicht Java Basics - Anfänger-Themen 2
K Programm findet datei in Jar nicht Java Basics - Anfänger-Themen 9
S Applet findet Klasse nicht Java Basics - Anfänger-Themen 7
C Variablen Findet Variable nicht Java Basics - Anfänger-Themen 13
E Executable jar-file findet class nicht Java Basics - Anfänger-Themen 12
T eclipse findet javax nicht Java Basics - Anfänger-Themen 4
M JDK installieren Glassfish, bzw. ArgoUML findet die JRE nicht Java Basics - Anfänger-Themen 4
H HashMap<Int, String> - Er findet die Int-Klasse nicht. Java Basics - Anfänger-Themen 3
J Compiler findet method nicht Java Basics - Anfänger-Themen 12
A CMD findet die java.class Datei nicht Java Basics - Anfänger-Themen 46
R FileInputStream findet Datei nicht Java Basics - Anfänger-Themen 5
S jar-File findet Hauptklasse nicht Java Basics - Anfänger-Themen 9
T Ausgabe findet nicht statt Java Basics - Anfänger-Themen 4
A Findet Main class nicht Java Basics - Anfänger-Themen 12
P Datentypen Warum findet er diese methoden nicht? Java Basics - Anfänger-Themen 13
Fu3L Programm findet nach .jar-Export Dateien nicht Java Basics - Anfänger-Themen 3
C Testprogramm kann nicht compiliert werden - javac findet file nicht Java Basics - Anfänger-Themen 12
Z Programm findet MAIN Datei nicht Java Basics - Anfänger-Themen 2
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
megachucky FileInputStream findet nur absoluten Pfad, keinen Relativen ?! Java Basics - Anfänger-Themen 7
M javac findet Oberklassedatei nicht Java Basics - Anfänger-Themen 7
GilbertGrape findet jar aus Classpath nicht Java Basics - Anfänger-Themen 4
C Wo findet man den Inhalt vordefinierter Methoden? Java Basics - Anfänger-Themen 15
B HashMap findet Key nicht Java Basics - Anfänger-Themen 2
Q Findet existierendes File auf Festplatte nicht Java Basics - Anfänger-Themen 6
M Wer findet den Fehler? Java Basics - Anfänger-Themen 19
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
M Deploy findet Datei nicht Java Basics - Anfänger-Themen 2
N Vergleich findet nicht statt. Java Basics - Anfänger-Themen 13
G Anwendung findet vorhandene Klasse nicht Java Basics - Anfänger-Themen 4
N Mein Applet findet -online- einfach die Klasse nicht ! Java Basics - Anfänger-Themen 6
E jedit findet javac nicht Java Basics - Anfänger-Themen 64
H JAR findet die main-class nicht Java Basics - Anfänger-Themen 9
I Hilfe wer findet mein Fehler in bei der Endlosschleife Java Basics - Anfänger-Themen 7
M Compiler findet main nicht Java Basics - Anfänger-Themen 4
H Anwendung findet Datei nicht Java Basics - Anfänger-Themen 2
A Programm findet keine wav-Dateien im jar Archiv Java Basics - Anfänger-Themen 4
T Totaler Anfänger findet Fehler nicht. Java Basics - Anfänger-Themen 13
G Programm findet andere .class-Dateien nicht Java Basics - Anfänger-Themen 6
R java findet nicht den neuesten JRE Java Basics - Anfänger-Themen 14
V Eclipse findet (meines Wissens) korrekte Klasse nicht Java Basics - Anfänger-Themen 3
G Public class??? Findet meine Klasse nicht. Java Basics - Anfänger-Themen 5
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
G Wie wartet man bis ein URL eine Antwort zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
M mit Maven eine ausführbare Jar bauen Java Basics - Anfänger-Themen 7
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
jeff98 Wie kann man in Java eine Zeichenformation ausgeben? Java Basics - Anfänger-Themen 9
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben