OSDEV: Itanium часть 2: One-time Construction API и сигнлтоны Майерса
Приветствую!
В этой части мы рассмотрим что такое guard variables и как под капотом работают синглтоны Майерса. Цель конечно у меня другая, я просто обозреваю процесс разработки ОС и рассказываю какие задачи как и зачем я решаю. Но раз уж столкнулся с этим, то расскажу что понял :-D
И так, стандарт начиная с С++11 гарантирует нам что локальные статические переменные инициализируются потокобезопасно. Но кто и как это обеспечивает? Это делает ABI.
И все таки о чем же идет речь? Представьте себе что есть вот такая структура:
Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.
Источник: Habr
Также писали об этом: Habr