Pilha C ++ segura para threads

Sou iniciante em C ++ e estou escrevendo um aplicativo multiencadeado pelo qual diferentes escritores colocam objetos em uma pilha e leitores os tiram da pilha (ou pelo menos empurram o ponteiro para um objeto

Existem estruturas embutidas no C ++ que possam lidar com isso sem adicionar código de bloqueio etc.? Caso contrário, e as bibliotecas Boost?

EDITAR

Oi. Obrigado pelas ótimas respostas iniciais. Acho que um dos motivos pelos quais pensei que isso poderia ser incorporado era que eu pensava puramente no espaço x86 e pensei que um PUSH / POP de ponteiros deveria ser uma ação atômica no nível da instruçã

Não tenho certeza se meu palpite inicial é verdadeiro ou não, mas acho que isso não seria necessariamente verdadeiro em todas as plataformas. Embora esteja rodando no x86, você obtém PUSHes e POPs atômicos na pilha e, se sim, isso basicamente o torna livre de bloqueios?

questionAnswers(6)

yourAnswerToTheQuestion