Могут ли семафоры быть объявлены и использованы внутри объекта структуры данных (например, самореализованная очередь)

#java #semaphore #data-objects

#java #семафор #данные-объекты

Вопрос:

В рамках домашнего задания я реализую очередь, в которой хранятся некоторые файлы, которые должны обрабатываться рабочими (несколько потоков записывают и считывают в объект очереди), при реализации моего класса queue я подумал, могу ли я объявлять и использовать семафоры исключительно в очереди. Таким образом, мне не нужно беспокоиться о взаимном исключении за пределами моего класса queue. Я знаю, что у меня есть другие альтернативы, такие как использование синхронизированных блоков, но меня интересует только теоретическая часть.

Комментарии:

1. Вы можете «делать» все, что хотите, чтобы обеспечить взаимное исключение. Однако маршрут, который вы должны выбрать, сильно зависит от того, что делает ваш код.

2. Конечно, почему бы и нет 🙂