Я хотел бы понять разницу между шаблоном наблюдателя и наиболее распространенной проблемой производителя/потребителя, поскольку обе требуют синхронизации, чтобы изменения были доступны, и как я могу реализовать оба (если они разные)Разница между шаблоном производителя/потребителя и шаблоном наблюдателя
ответ
Разница между ними - это характер синхронизации.
В случае шаблона наблюдателя при изменении интереса к наблюдаемому объекту все наблюдатели незамедлительно уведомляются. Таким образом, для шаблона требуется немедленная синхронизация изменений. На самом деле шаблоны наблюдателей не требуют другого потока. Поток, который меняет наблюдаемый объект, может уведомить всех зарегистрированных наблюдателей.
Однако в случае производителя-потребителя единственной необходимой синхронизацией является то, что потребитель должен ждать, когда нет элемента, и продюсер должен ждать, когда буфер заполнен. Но для каждой синхронизации объектов не требуется. Производитель может создавать несколько объектов, прежде чем потребитель потребляет любой из них, и потребитель может потреблять несколько объектов за один раз. Поэтому немедленное уведомление, такое как наблюдатель, здесь не требуется.
Что касается реализации, вы можете ознакомиться с статьями Википедии: Observer Pattern и Producer-Consumer Problem.
- 1. Разница между шаблоном стратегии и шаблоном делегирования
- 2. Разница между шаблоном состояния и шаблоном стратегии
- 3. разница между шаблоном и шаблоном макета
- 4. разница между шаблоном Hibernate и шаблоном JDBC
- 5. В чем разница между шаблоном наблюдателя и реактивным программированием?
- 6. Разница между слоем и шаблоном
- 7. В чем разница между шаблоном шаблона JQuery и шаблоном метода
- 8. В чем разница между шаблоном расширения объектов и шаблоном адаптера?
- 9. Разница между шаблоном адаптера объекта и шаблоном адаптера класса
- 10. Разница между шаблоном стратегии и шаблоном состояния с использованием примера
- 11. В чем разница между шаблоном проектирования и шаблоном проектирования предприятия?
- 12. Разница между шаблоном портала и шаблоном ASPX в Kentico
- 13. Разница между шаблоном управления и шаблоном данных в wpf
- 14. В чем разница между шаблоном стратегии и шаблоном посетителя?
- 15. В чем разница между шаблоном Builder и шаблоном Flyweight?
- 16. Разница между шаблоном репозитория и шаблоном модели представления
- 17. Различия между шаблоном прокси и шаблоном адаптера?
- 18. Проблемы с шаблоном наблюдателя Java
- 19. В чем разница между «признаком» и «шаблоном»?
- 20. Разница между видом и шаблоном в Grails
- 21. Разница между рисунком моста и шаблоном адаптера
- 22. Разница между хранилищем и заводским шаблоном
- 23. AngularJS: Разница между шаблоном и представлением?
- 24. Разница между шаблоном «+» и «*» в REGEXP
- 25. Разница между шаблоном и использованием интерфейса?
- 26. Разница между ссылкой, шаблоном и пакетом NuGet?
- 27. Разница между впрыском зависимостей и шаблоном репозитория
- 28. разница Нокаута между шаблоном связывания и связыванием
- 29. В чем разница между темой и шаблоном?
- 30. Разница между совпадающим шаблоном и вычислением равенства
Спасибо за объяснение, у меня есть вопрос: - Можно ли применять оба понятия в одной программе java? –
Почему бы и нет? Приложения реального мира настолько велики, что могут применять десятки таких концепций в одной программе. – taskinoor