Hi Leute,
ich hab eine Prinzipfrage, kein konkretes Beispiel.
Was passiert denn wenn ich sowas hab wie
das lockObject bei "...hier..." NULL wird?
Müsste ich um sowas zu verhindern so einen Synchronized block in einen try-Block reinschreiben und eine Nullpointerexception abfangen?
Also prinzipiell gehen ja zwei Sachen auf jeden Fall. Entweder ich hab meine Threads und was sie wann tun gut durchgedacht und kann sowas auf anderem Wege verhindern, zB indem ich die Stelle an der das lockObj. NULL werden kann auf keinen Fall aufrufe solange ein Thread noch an so einen synchronized Block wie hier stoßen kann, oder ich kann eben die Exception abfangen.
Ich schreibe hier weil ich mir ersteres bei komplizierten Programmen nicht so richtig vorstellen kann (da fehlt mir die multithread Erfahrung und weil mir zweiteres nicht wie der beste Weg vorkommt).
Hat dazu jemand eine Idee/Meinung bzw. einen Standardweg der üblich ist um sowas zu verhindern und der von meinen beiden ideen abweicht?
lg andi
ich hab eine Prinzipfrage, kein konkretes Beispiel.
Was passiert denn wenn ich sowas hab wie
Java:
if(lockObject!=null){
// ....hier....
synchronized(lockObject){
}
}
das lockObject bei "...hier..." NULL wird?
Müsste ich um sowas zu verhindern so einen Synchronized block in einen try-Block reinschreiben und eine Nullpointerexception abfangen?
Also prinzipiell gehen ja zwei Sachen auf jeden Fall. Entweder ich hab meine Threads und was sie wann tun gut durchgedacht und kann sowas auf anderem Wege verhindern, zB indem ich die Stelle an der das lockObj. NULL werden kann auf keinen Fall aufrufe solange ein Thread noch an so einen synchronized Block wie hier stoßen kann, oder ich kann eben die Exception abfangen.
Ich schreibe hier weil ich mir ersteres bei komplizierten Programmen nicht so richtig vorstellen kann (da fehlt mir die multithread Erfahrung und weil mir zweiteres nicht wie der beste Weg vorkommt).
Hat dazu jemand eine Idee/Meinung bzw. einen Standardweg der üblich ist um sowas zu verhindern und der von meinen beiden ideen abweicht?
lg andi