synchronized bloğu yazarsak mutlaka dikkat etmemiz gereken bir şey var: Blokların sırası. Bir örnek vermek gerekirse:Thread ABu örnek hatalı ve kolayca görülebileceği gibi deadlock'a neden olur. Ama sırasına dikkat ettiğiniz durumlarda bile sorun yaşama olasılığınız var. O yüzden, içiçe
synchronized(a) {
synchronized(b) {
...
}
}
Thread B
synchronized (b) {
synchronized (a) {
...
}
}
synchronized kullanmaktan kaçınmak gerekiyor.
Hiç yorum yok:
Yorum Gönder