27. Соб.2 Что происходит после вызова метода notifyAll? Какие выгоды получает объект, если он immutable? Что такое «thread-safe»? Что такое «happens-before»? Что такое JMM? Какое исключение вылетит, если вызвать wait не в блоке synchronized?
27.6 Що відбувається після виклику метода notifyAll? notifyAll () надсилає сповіщення всім ниткам у стані очікування звільнення об’єкта-мютекса; всі нитки пробуджуються; як тільки поточна нитка вийде з блока synchronized , одна з пробуджених ниток займе мютекс; решта ниток після перевірки умови цикла знов перейдуть у стан очікування (хибне пробудження). 27.7 Які переваги отримує об’єкт, якщо він immutable? Immutable (незмінний) об’єкт – це об’єкт, стан якого після створення неможливо змінити (всі поля екземпляру позначені final ). Найпростіший приклад – java . lang . String . Всі методи, які викликаються повертають новий рядок, а не модифікований вихідний. Переваги immutable -об ’ єктів: 1) Потокобезпечність – І m - o не вимагають синхронізації при багато потоковому доступі, їх вільно можна використовувати з різних потоків. 2) ...