Sobes.tech
Junior — Middle
95

Object объектісінде notify әдісін synchronized блокты иеленбестен қолдануға бола ма?

Сұралған компаниялар
OZONOZON

AI-дан жауап

sobes.tech AI

Жоқ, Object объектісінің notify() әдісін сол объектінің мониторын (блокировкасын) иеленбестен шақыруға болмайды, яғни synchronized қолданбай. Егер notify() синхрондалмаған блокта шақырылса, IllegalMonitorStateException қателігі пайда болады.

Дұрыс қолдану мысалы:

synchronized(obj) {
    obj.notify();
}

Бұл notify() объектінің мониторында күтетін бір ағынды хабарлау үшін пайдаланылады, және дұрыс жұмыс істеуі үшін осы мониторды иелену қажет.