Программирование на языке Ruby
Шрифт:
Здесь имеется проблема. Если ваша система ведет себя примерно так же, как наша, то программа может напечатать одно из двух значений! В наших тестах с одинаковой вероятностью печаталось 7 или 8. Если слов и списков больше, то и разброс окажется более широким.
Попробуем исправить положение с помощью мьютекса, который будет контролировать доступ к разделяемому ресурсу. (Слово «mutex» — это сокращение от mutual exclusion, «взаимная блокировка».)
Обратимся к листингу 13.2. Библиотека
Отметим, что помимо метода
Эта возможность полезна, если поток не хочет приостанавливать выполнение. Есть также метод
Существует еще библиотека
13.2.3. Предопределенные классы синхронизированных очередей
В библиотеке
Оба класса имеют практически один и тот же набор методов, поскольку
Внешняя разведка СССР
Научно-образовательная:
история
политика
рейтинг книги
Если я должна умереть
3. Ревенанты
Любовные романы:
любовно-фантастические романы
рейтинг книги
Годы странствий
Документальная литература:
биографии и мемуары
рейтинг книги
Кодекс Охотника. Книга XII
12. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
аниме
рейтинг книги
Я иду искать. История третья и четвертая
3. Я иду искать
Фантастика:
боевая фантастика
рейтинг книги
Да, мой лорд
Фантастика:
фэнтези
рейтинг книги
Студиозус
3. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
рейтинг книги
Тринадцатый
Фантастика:
фэнтези
рпг
рейтинг книги
Тихий Дон. Том 2
199. Библиотека всемирной литературы
Проза:
советская классическая проза
рейтинг книги
Первый среди равных. Книга VI
6. Первый среди Равных
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Пляска смерти
Проза:
историческая проза
рейтинг книги
Эпик. Дилогия
Фантастика:
боевая фантастика
киберпанк
рпг
рейтинг книги
Предок
рейтинг книги