ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
42388 Топик полностью
Jean Labrosse (25.10.2005 17:04, просмотров: 1) ответил ReAl на Угу, и конструктор приватный, чтобы иначе, чем через функцию - и создать нельзя было. А по RTOS -
Совершенно верно. Упоминая RTOS я имел в виду ту же проблему, что с ISR. Кроме того, Если класс Critical является wrapperом критической секции (реализация например через запрет прерываний), то static MySingleton& getInstance() { Critical section; static MySingleton s; return s; } позволяет решить потенциальную проблему двойного вызова конструктора (если таковая есть -- зависит от реализации static в компиляторе). Но и это не есть хорошо, т.к. при любом обращении к getInstance() будут блокироваться прерывания. Как вариант можно кешировать возвращенное значение MySingleton& x = MySingleton::getInstance(); x.method1(); x.method2(); x.method3(); О чем это я... :) Ну наверно singleton в классическом виде не очень подходил для embedded систем (и не в мегабайте флеши тут дело как кое-кто писал).