Я видел несколько безблокировочных реализаций стека ... Мой вопрос касается видимости, а не атомарности. Например, элементы (, а не указатели ) стека без блокировки должны быть не более 64-битными? Думаю, да, потому что видимость гарантировать нельзя. Реальный пример: можно ли эту структуру безопасно вставить и удалить из контейнера без блокировки
struct person
{
string name;
uint32_t age;
}
РЕДАКТИРОВАТЬ: некоторые люди сбиты с толку этим вопросом. Немного поясню: если писатель помещает человека в стек, читатель получает его, гарантировано ли, что читатель видит (видимость памяти) правильное содержимое этого человека.