Я читал о Semaphore
классе there, и теперь я хотел бы понять, как я могу использовать этот класс в реальном коде? В чем польза Семафоров? Я получил то, что мы могли использовать семафоры, чтобы повысить производительность, уменьшая параллелизм для ресурса. Это основное использование Semaphore
?Где использовать семафоры?
ответ
tl; dr Ответ: Семафоры позволяют ограничить доступ к некоторому пути кода к определенному числу потоков - без управления механизмом обработки этих потоков. Пример использования - веб-сервис, который предлагает некоторую ресурсоемкую задачу - с помощью Семафора, вы можете ограничить эту задачу, т. Е. 5 потоков при использовании большего пула потоков пула приложений, обрабатывающих этот и некоторые другие типы запросов.
Длинный ответ: см. Комментарий Furkan Omay.
Семафоры являются частью пакета параллелизма в java. Как сказано в пакете, он используется для использования потока параллельного доступа к коду. В отличие от «Синхронизированный» и «Блокировка» в java с помощью семафоров вы можете контролировать доступ своего кода к определенному числу пользователей.
Рассматривайте это как вышибала в пабе, который позволяет людям, могут ли они войти или нет. Если паб заполнен и не может взять больше людей, он останавливается, пока кто-то не уйдет. Семафоры можно использовать, чтобы сделать что-то подобное вашему коду!
Надеюсь, это поможет!
- 1. Как правильно использовать семафоры
- 2. Cortex M3 - как использовать семафоры
- 3. Понимание семафоры
- 4. Семафоры Linux
- 5. Может ли семафоры использовать числовые операции?
- 6. Как можно использовать семафоры в многоядерных системах?
- 7. Семафоры операционной системы
- 8. win32 Семафоры
- 9. CMU: Семафоры
- 10. Семафоры терминологии
- 11. Семафоры «полные»?
- 12. Семафоры fortran
- 13. Семафоры в неуправляемом коде
- 14. Семафоры на Python
- 15. Семафоры предотвращают переупорядочение команд?
- 16. Где вы размещаете семафоры POSIX при использовании общей памяти POSIX?
- 17. Процессы и семафоры
- 18. Семафоры и параллельное программирование
- 19. Кто инициализирует семафоры?
- 20. семафоры и Web Sockets
- 21. Нитки и семафоры в Ada95
- 22. Семафоры как алмаз
- 23. Семафоры, блокирующие и разблокирующие
- 24. Именованные семафоры в Python?
- 25. семафоры makeWater() синхронизации
- 26. семафоры в C
- 27. Как семафоры разрешают негативы?
- 28. Семафоры, защищенные оболочкой C
- 29. Взаимное исключение и семафоры
- 30. семафоры - пример потребительского Производитель
Возможный дубликат [Что такое семафор?] (Http://stackoverflow.com/questions/34519/what-is-a-semaphore) Я имею в виду, что в него включены некоторые примеры о том, где «использовать». –
Семафоры - это ресурсы для синхронизации процессов. Если вы не создаете два процесса или более, вы должны забыть семафоры. – Cebrian92
Если вам нужно использовать параллелизм в своем приложении, но вы хотите обрабатывать самостоятельно, когда ресурс доступен и сколько одновременных обращений к ресурсу, который вы хотите иметь, вы должны начать думать о семафорах. – lateralus