Критическая секция. Активное ожидание. Блокировки.
Хорошая учительница, любит детей, НО на переменах держит их взаперти. Родители не знают, как быть — жаловаться или терпеть?
Дочка последние два месяца приходит домой как выжатый лимон. Вялая, раздражительная, жалуется на головную боль. Сначала думала — устает просто, нагрузка, второй класс все-таки. Потом начала расспрашивать подробнее. Оказалось, их учительница регулярно не выпускает класс на перемены. Прозвенит звонок — а дети продолжают сидеть за партами. То «вели себя плохо», то «не успели доделать задание», то «слишком шумно разговаривали». Иногда прямым текстом: «Пока все примеры не решите — никто никуда не идет»...
Java 1565. Мютекс, монитор, семафор.
Мютекс позволяет только одному потоку захватить его, тем самым блокируя доступ к общему ресурсу для других потоков. Когда поток захватывает мютекс, он становится его владельцем и может выполнять операции с общим ресурсом. Другие потоки, пытающиеся захватить мютекс, будут блокированы до тех пор, пока текущий владелец не освободит его. Пример использования мютекса в Java: import java.util.concurrent.locks.ReentrantLock;
public class MutexExample {
private static ReentrantLock lock = new ReentrantLock();
...