Perguntas com a marcação «atomic»

Uma operação atômica é indivisível. Este termo é usado para descrever transações em bancos de dados, acessos de baixo nível em programas multithread e operações de sistema de arquivos, entre outros.

276
O que significa "atômico" na programação?

No livro Java efetivo, ele afirma: A especificação da linguagem garante que a leitura ou gravação de uma variável seja atômica, a menos que a variável seja do tipo longou double[JLS, 17.4.7]. O que significa "atômico" no contexto da programação Java ou programação em...

172
O que exatamente é std :: atomic?

Eu entendo que std::atomic<>é um objeto atômico. Mas atômica até que ponto? Para meu entendimento, uma operação pode ser atômica. O que exatamente se entende por tornar um objeto atômico? Por exemplo, se houver dois threads executando simultaneamente o seguinte código: a = a + 12; Então...

153
O num ++ pode ser atômico para 'int num'?

Em geral, para int num, num++(ou ++num), como uma operação de leitura-modificação-gravação, não é atômica . Mas muitas vezes vejo compiladores, por exemplo o GCC , gerar o seguinte código ( tente aqui ): Como a linha 5, que corresponde a num++uma instrução, podemos concluir que num++ é atômica...

116
AtomicInteger lazySet vs. set

Qual é a diferença entre os métodos lazySete setde AtomicInteger? A documentação não tem muito a dizer sobre lazySet: Eventualmente define o valor fornecido. Parece que o valor armazenado não será definido imediatamente para o valor desejado, mas será programado para ser definido em algum...

106
O acréscimo de arquivo é atômico no UNIX?

Em geral, o que podemos presumir quando anexamos a um arquivo no UNIX de vários processos? É possível perder dados (um processo substituindo as alterações do outro)? É possível que os dados sejam mutilados? (Por exemplo, cada processo está anexando uma linha por anexo a um arquivo de log, é...

93
custo de operação atômica

Qual é o custo da operação atômica (qualquer um de comparar e trocar ou adicionar / decrementar atômico)? Quantos ciclos ele consome? Ele pausará outros processadores no SMP ou NUMA ou bloqueará os acessos à memória? Ele irá liberar o buffer de reordenamento na CPU fora de ordem? Quais efeitos...

12
Inicialização do vetor de atômica

Considerar: void foo() { std::vector<std::atomic<int>> foo(10); ... } O conteúdo de foo agora é válido? Ou preciso fazer um loop explicito e inicializá-los? Eu verifiquei Godbolt e parece bom, no entanto, o padrão parece estar muito confuso neste ponto. O construtor std :: vector...