Kann jemand es in einer Sprache erklären, die nur Sterbliche verstehen?
Kann jemand es in einer Sprache erklären, die nur Sterbliche verstehen?
Kann jemand erklären, was std::memory_orderim Klartext ist und wie man sie benutzt std::atomic<>? Ich habe die Referenz und einige Beispiele hier gefunden, verstehe sie aber überhaupt nicht. http://en.cppreference.com/w/cpp/atomic/memory_order
Wenn eine Datenstruktur mehrere Elemente enthält, kann die atomare Version nicht (immer) sperrfrei sein. Mir wurde gesagt, dass dies für größere Typen gilt, da die CPU die Daten nicht atomar ändern kann, ohne eine Art Sperre zu verwenden. zum Beispiel: #include <iostream> #include...
Ich arbeite in einem Projekt mit C ++ 11 und habe versucht, folgenden Code zu verwenden #include <atomic> struct A { std::atomic_int idx = 1; }; int main() { return 0; } Ich bekomme den Compilerfehler error: use of deleted function
Ich möchte tragbaren Code (Intel, ARM, PowerPC ...) schreiben, der eine Variante eines klassischen Problems löst: Initially: X=Y=0 Thread A: X=1 if(!Y){ do something } Thread B: Y=1 if(!X){ do something } in dem das Ziel ist, eine Situation zu vermeiden, in der beide Threads arbeitensomething . (Es...
Ich habe Probleme mit Abschnitt 5.1.2.4 des C11-Standards, insbesondere mit der Semantik von Release / Acquire. Ich stelle fest, dass https://preshing.com/20120913/acquire-and-release-semantics/ (unter anderem) besagt, dass: ... Die Release-Semantik verhindert, dass die Schreibfreigabe mit einer...
Kann mir jemand sagen, ob std :: atomic :: is_lock_free () nicht so statisch wie constexpr ist? Es macht für mich keinen Sinn, es nicht statisch und / oder nicht kontextuell zu
Ich frage mich, wie std::atomic_refeffizient (eine std::mutexpro Objekt) für nichtatomare Objekte implementiert werden kann , da die folgende Eigenschaft ziemlich schwer durchzusetzen scheint: Atomoperationen, die über eine atomare Referenz auf ein Objekt angewendet werden, sind atomar in Bezug auf...
Laut https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html gibt es: type __atomic_load_n (type *ptr, int memorder) und (das "generische"): void __atomic_load (type *ptr, type *ret, int memorder) dann void __atomic_store_n (type *ptr, type val, int memorder) und ("das Generikum")...
Wie kann ich die Elemente eines Vektors einem Atomtyp zuordnen? #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; }...