Perguntas com a marcação «stdatomic»



1
C11 Atomic Adquirir / Liberar e x86_64 falta de coerência de carga / armazenamento?
Estou lutando com a Seção 5.1.2.4 da Norma C11, em particular a semântica de Liberação / Aquisição. Observo que https://preshing.com/20120913/acquire-and-release-semantics/ (entre outros) afirma que: ... A semântica de liberação impede a reordenação de memória da liberação de gravação com qualquer operação de leitura ou gravação que a preceda na ordem …


1
Como atribuir um vetor de tipos atômicos?
Como posso atribuir os membros de um vetor com um tipo atômico? #include <iostream> #include <thread> #include <vector> using namespace std; int main() { vector<atomic<bool>> myvector; int N=8; myvector.assign(N,false); cout<<"done!"<<endl; } https://wandbox.org/permlink/lchfOvqyL3YKNivk prog.cc: In function 'int main()': prog.cc:11:28: error: no matching function for call to 'std::vector<std::atomic<bool> >::assign(int&, bool)' 11 | …

1
Por que os componentes atômicos do GCC precisam de uma versão "genérica" ​​adicional?
De acordo com https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html , há: type __atomic_load_n (type *ptr, int memorder) e (o "genérico"): void __atomic_load (type *ptr, type *ret, int memorder) então void __atomic_store_n (type *ptr, type val, int memorder) e ("o genérico") void __atomic_store (type *ptr, type *val, int memorder) etc. O que é genérico nas últimas …

2
Como o std :: atomic_ref é implementado para tipos não atômicos?
Gostaria de saber como pode std::atomic_refser implementado eficientemente (um std::mutexpor objeto) para objetos não atômicos, pois a propriedade a seguir parece bastante difícil de aplicar: As operações atômicas aplicadas a um objeto por meio de um atomic_ref são atômicas em relação às operações atômicas aplicadas por qualquer outro atomic_ref que …
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.