Documentation
¶
Overview ¶
«Загальна система розумного зоопарку» Концепція Створити програму для управління розумним зоопарком, де декілька горутин виконують різні завдання, такі як моніторинг стану тварин, керування доступом до вольєрів та управління кормушками. Програма має активно використовувати канали для комунікації між горутинами, уникаючи «race conditions» і «deadlocks». Завдання Моніторинг стану тварин: Створіть горутину для кожної тварини в зоопарку. Кожна горутина збирає дані про стан тварини (наприклад, рівень здоров'я, голод, настрій) і відправляє їх через канал до центральної системи моніторингу. Керування доступом до вольєрів: Імплементуйте горутину, яка контролює доступ до вольєрів, використовуючи канали для отримання запитів на відкриття/закриття. Управління кормушками: Розробіть горутини для управління автоматичними кормушками, які відправляють статус кормушки (порожня/повна) через канал. Умови виконання Уникнення «Race Conditions»: забезпечте, щоб спільні ресурси (наприклад, дані про стан тварин) були захищені від одночасного доступу декількома горутинами. Використовуйте канали для синхронізації доступу. Управління «Deadlocks»: уважно використовуйте блокування та канали, щоб уникнути взаємних блокувань між горутинами. Логування та моніторинг: реалізуйте систему логування, яка фіксує важливі події у системі, наприклад, коли тварина потребує уваги або коли кормушка порожня. Тестування: напишіть модульні тести для перевірки коректності взаємодії між горутинами та уникнення «race conditions» та «deadlocks».