Пользователь
- Статус
- Оффлайн
- Регистрация
- 17 Окт 2021
- Сообщения
- 292
- Реакции
- 111
контекст может быть доступным "глобально", но это не делает его singleton'ом в плохом смыслетак разве контекст сам по себе не будет глобальным? с учетом того, что придется хукать функции вызываемые из разных потоков, то и объект должен быть глоабльным, типа статического обжекта как я понимаю
вот в чем разница:
1. глобальный доступ (можно достучаться из разных мест и потоков)
2. глобальное владение и инициализация (где get метод сам все это создает в непредсказуемый момент)
типа, если у тебя хуки из разных потоков, то да, какая-то точка доступа будет глобальной, но лучше чтоб она была "тонкой", к примеру глобальный context* который выставляется в момент когда модуль уже готов, а дальше только чтение. если публикация до старта потоков, то достаточно будет обычного указателя, в другом же случае нужно будет допустим использовать atomic дополнительно
сам контекст может жить в root и внутри контекста можно делать lazy-init подсистем, в busy ты тогда будешь уходить только при необходимости.
p.s. мог не очень понятно объяснить, не обессудь