Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Java Deadlocks » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Der letzte Beitrag
tonno06 Java Deadlocks

Als erstes hallo! bin ein java-noob, mussmich aber mit einer aufgabe rumschlagen bei der ich nicht ganz durchsehe. Vornweg folgender Java-Code:

class BigRessource {
public static synchronized void useSmallRessource () {
SmallRessource.work();
}
public static synchronized void work() { }
}

class SmallRessource {
public static synchronized void work() { }
public static synchronized void useBigRessource () {
BigRessource.work();
}
}

Nun zu den Fragen:
1) Kann es zu Deadlocks kommen, wenn mehrere Threads nebenläufig auf die beiden folgenden Klassen zugreifen?
2) Kann die Methode BigRessource.work() bei nur einem Thread blockieren?


Jetzt ´zu meinen Antworten:
zu 1): Ja es kann zu Deadlocks kommen. Aber warum weiß ich nicht?
zu 2): Ja. Begründung: Wenn mehr als 1 Objekt der Klasse SmallRessource erzeugt wird, da ein Objekt immer auf die Erzeugung des anderen "warten" muss. Stimmt das so?

Wie gesagt, ich habe nur wenig ahnung davon. Wäre hilfreich, wenn die Antwort(en) schnell käme(n). Danke!