bedingte synchronisation

julia123

Erfahrenes Mitglied
hi,

ich hab eine Aufgabe in der ich dieses interface gegben ist :

Java:
interface Mail {

// Gibt Mail zurück und lösch die älteste Mail. Blockert wenn Mail leer.
public String empfEntfernen() throws InteruptExeption;

// Löscht die älteste Mail. Liefert false wenn Mail leer.
public boolean entfernen()

}

Das implementieren und threadsicher zu machen ist einfach. Aber wieso gibt es 2 entferne Methoden( ich hab jetzt die 2 einfüge Methden rauss gelassen.(Ist aber vom selben Prinzip).

Meine Hauptfrage ist: Was meint man mit Methode blockert?
Soll das heißen dass in diesert Methode der Thread warten darf .

Dumme Frage : Beim implementiern beider Methoden synchronized davor?
 

youza

Erfahrenes Mitglied
Blockert ist ein Schreibfehler -> Blockiert...

Synchronized würde ich voranstellen oder du machst synchronized Bolcks.

Die eine Methode gibt nur einen boolean zurück, welcher aussagt ob das löschen erfolgreich war. Die andere Methode gibt die Mail zurück oder Blockiert falls eine Exception auftritt.

Viele Grüße
Youza
 

julia123

Erfahrenes Mitglied
ja aber was bedeutet eine Methode blockieren -> in Code.
Meint man damit das in dieser Methode sowas wie wait() benutzt wird damit der Thread wartet ( blockiert) und in der anderen Methode eben nicht...