Поток. Реализация VolatileRead

Вы использовали бы вложенный класс для создания (маленького) класса помощника, это требуется, чтобы реализовывать основной класс. Или например, для определения интерфейса (класс с абстрактными методами).

В этом случае, основной недостаток вложенных классов - то, что это делает его тяжелее, чтобы снова использовать их. Возможно, требуется использовать класс VideoDecoder в другом проекте. При создании его вложенным классом VideoPlayer Вы не можете сделать этого изящным способом.

Вместо этого вставляет отдельные .h/.cpp файлы других классов, которые можно тогда использовать в классе VideoPlayer. Клиент VideoPlayer теперь только должен включать файл, который объявляет VideoPlayer, и все еще не должен знать о том, как Вы реализовали его.

25
задан 20 November 2009 в 22:43
поделиться

1 ответ

Я так думал до недавнего времени. Неустойчивые чтения - это не то, что вы думаете - они не гарантируют, что они получат самое последнее значение; они о том, чтобы удостовериться, что никакое чтение, которое происходит позже в программном коде, не перемещается до этого чтения. Это то, что гарантирует спецификация - и аналогично для изменчивой записи она гарантирует, что никакая более ранняя запись не будет перемещена в после изменчивой.

Вы не один , подозревая этот код , но Джо Даффи объясняет это лучше, чем я :)

Мой ответ - отказаться от кодирования без блокировки, кроме использования таких вещей, как PFX, которые предназначены для того, чтобы изолировать меня от него. Модель памяти слишком сложна для меня - оставлю это экспертам,

24
ответ дан 28 November 2019 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: