Tag: atomic
Eine Atomare operation ist unteilbar. Dieser Begriff wird verwendet, um zu beschreiben, Transaktionen in Datenbanken, low-level-Zugriffe in Multithread-Programme und file-system-Operationen, unter anderem.
5
Antworten
Macht VC++ 2010 haben die Unterstützung für C++11-der portable-Typ atomic template? InformationsquelleAutor Electro | 2010-05-29
3
Antworten
Was passiert, wenn zwei threads setzen ein BOOL YES "gleichzeitig"? Es öffnet sich ein Wurmloch in eine andere dimension. Wenn Sie sowohl die Festlegung auf YES gibt, kann es kein problem sein, ob das schreiben atomar ist
3
Antworten
Unter iOS gibt es zwei ähnliche Funktionen OSAtomicAdd32 und OSAtomicAdd32Barrier. Ich bin gespannt, Wann müssen Sie die Barrier Variante. Demontiert, Sie sind: _OSAtomicAdd32: ldxr w8, [x1] add w8, w8, w0 stxr w9, w8, [x1] cbnz w9, _OSAtomicAdd32
2
Antworten
Finde ich, dass in der Praxis mit einer Vielzahl von C++11/C++14-Compiler, ein std::atomic hat einen undefinierten Anfangswert nur, wie es wäre, wenn es ein "raw" - Typ. Das heißt, wir erwarten, dass für die expression int a;
6
Antworten
Wenn ich so etwas wie diese (pseudocode): class A { List<SomeClass> list; private void clearList() { list = new List<SomeClass>(); } private void addElement() { list.Add(new SomeClass(...)); } } ist es möglich, dass ich mit multithreading Probleme
3
Antworten
Ist die folgende singleton-Implementierung data-race free? static std::atomic<Tp *> m_instance; ... static Tp & instance() { if (!m_instance.load(std::memory_order_relaxed)) { std::lock_guard<std::mutex> lock(m_mutex); if (!m_instance.load(std::memory_order_acquire)) { Tp * i = new Tp; m_instance.store(i, std::memory_order_release); } } return * m_instance.load(std::memory_order_relaxed);
7
Antworten
Möchte ich dokumentieren, was high-level (z.B. C++ nicht inline-assembler -) Funktionen oder Makros sind verfügbar für Compare Und Swap (CAS) Atomare primitive... E. g., WIN32 auf x86 hat eine Familie von Funktionen _InterlockedCompareExchange im <_intrin.h> header. InformationsquelleAutor
2
Antworten
array< atomic_size_t, 10 > A; Weder atomic_init(A,{0}) noch A = {ATOMIC_VAR_INIT(0)} zu funktionieren scheint, die eine unverständliche Fehlermeldung. Wie würden Sie initialisieren ein array von atomics 0EN? Sogar for-Schleifen die Aktualisierung eines Elements des Arrays bei jedem
2
Antworten
was ist die auto-gen würde getter-und setter-look wie für die folgende Eigenschaft Wert? ... in .h @interface MyClass : NSObject { @private NSString *_value; } @property(retain) NSString *value; ... in .m @synthesize value = _value; was ist,
1
Antworten
Habe ich bemerkt, dass viele lockless algorithmen implementiert mit OS-spezifische primitive, wie die spin locks beschrieben hier (die verwenden Linux-spezifische Atomare primitive) oft mit "cpu-entspannen" - Anweisung. Mit GCC, dies kann erreicht werden mit: asm volatile("pause\n": :
3
Antworten
Unter den meisten UNIX-und Posix-konformen Betriebssystemen die Durchführung eines open () - Betriebssystem-Aufruf mit der O_APPEND zeigt das OS schreibt zu atomic Anhängen und schreib-Operationen. Mit diesem Verhalten für lokale Dateisysteme, wenn Sie schreiben, Sie wissen es,
3
Antworten
Ich habe einen thread, ich will sitzen in einer Schleife, bis ich bereit bin, das Programm zu beenden, an welchem Punkt ich möchte es zu brechen aus der Schleife, und exit, so kann ich rufen Sie std::thread::join
4
Antworten
Glaube, ich bin ändern von ein paar bits in eine memory-mapped-I/O-register, und es ist möglich, dass ein anderer Prozess oder und ISR werden konnte, ändern die anderen bits im gleichen register. Kann ldrex und strex verwendet werden,
3
Antworten
Warum nicht std::atomic<int> index; Arbeit? Derzeit mit LLVM 3.1 mit diesen params C Language Dialect GNU [-std=gnu99] C++ Language Dialect [-std=c++11] C++ Standard Library libc++(LLVM C++ standard library with C++11 support) Haben Sie #included die <atomic> header?
2
Antworten
Ich war nicht bewusst das std::atomic Variablen wurde aber bewusst über die std::mutex (komisch, richtig!) zur Verfügung gestellt von der standard; aber eine Sache fiel mir ins Auge: es sind zwei scheinbar gleiche(für mich) atomaren Typen, die
2
Antworten
Ich produziert haben, die eine einfache Umsetzung der lockless (lockfree) Warteschlange mit der neuen std::atomic in C++11. Ich kann nicht sehen, was ich falsch mache hier. #include <atomic> template<typename T> class lockless_queue { public: template<typename DataType> struct
7
Antworten
Wenn ich den Zugriff auf einen einzelnen integer-Typ (z.B. long, int, bool, usw...) in mehreren threads, brauche ich ein Synchronisations-Mechanismus wie ein mutex zu sperren. Mein Verständnis ist, dass die als Atomare Typen, brauche ich nicht sperren,
2
Antworten
In einem meiner Projekte habe ich gleichzeitigen Schreibzugriff auf eine Datei innerhalb einer JRE und wollen zu behandeln, die durch das erste schreiben in eine temporäre Datei und anschließend verschieben der temp-Datei, um das Ziel mit einem
1
Antworten
Ich habe ein problem, wo zwei ähnliche Prozesse laufen parallel in separaten Klone des gleichen repository (in der Regel auf verschiedenen Computern). Jedes mal, wenn ein Prozess ausgeführt wird, ruft es die neuesten tags aus der Fernbedienung
1
Antworten
In früheren Versionen von CUDA, atomicAdd wurde nicht umgesetzt, für verdoppelt, so ist es üblich, um dies zu implementieren, wie hier. Mit dem neuen CUDA-8 RC, die ich laufen in Schwierigkeiten, wenn ich versuche zu kompilieren mein
1
Antworten
Betrachten Sie das folgende szenario: 2 verschiedene Netzwerk-ports über boost::asio jeder in seinem eigenen thread 1-port empfangen und verarbeiten von Daten - class DataConnection verpackt in einem std::thread 1 Anschluss ist für das senden von Statistiken class
6
Antworten
Ich habe irgendwo gelesen (kann nicht finden, die Seite nicht mehr), dass lock-free data-Strukturen sind effizienter "für bestimmte workloads" das scheint zu bedeuten, manchmal sind Sie wirklich langsamer oder der Gewinn aus Ihnen kann null sein in
3
Antworten
Oft im internet-ich finde, dass LFENCE keinen Sinn macht, in den Prozessoren x86, sprich es tut sich nix , also statt MFENCE wir können absolut schmerzfrei zu verwenden SFENCE, weil MFENCE = SFENCE + LFENCE = SFENCE
2
Antworten
Ich bin auf der Suche nach einem Weg, um atomar Schrittweite eine kurze, und dann wieder, dass Wert. Ich brauche, um dies zu tun, sowohl im kernel-Modus und Benutzer-Modus, so ist es in C unter Linux auf
2
Antworten
Übergibt einen Zeiger atomic-in gehen? Muss ich zuweisen, die einen Zeiger in einem Schloss? Nehmen wir an, ich möchte nur ordnen Sie die Zeiger auf null, und möchten, dass andere threads in der Lage sein, um es
2
Antworten
Frage ich mich, ob Linq-extension-Methoden sind atomar? Oder muss ich lock alle IEnumerable Objekt verwendet mehrere threads, bevor Sie jede Art von iteration? Nicht deklarieren Sie die variable als volatile irgendeinen Einfluß auf diese? Zusammenfassend ist zu
5
Antworten
Kann mir jemand erklären, was std::memory_order im Klartext, und wie Sie mit std::atomic<>? Fand ich den Verweis und einige Beispiele hier, aber nicht verstehe. http://en.cppreference.com/w/cpp/atomic/memory_order Dank. +1 sehr gute Frage. hoffen wir auf einige gute Antworten! Ich
3
Antworten
War ich mit dem Gedanken Amazon DynamoDB in meiner Anwendung, und ich habe eine Frage bezüglich seiner Atomare Zähler Zuverlässigkeit. Ich bin Aufbau einer verteilten Anwendung, muss gleichzeitig, und konsequent, Inkrement/Dekrement einen Zähler, gespeichert in einer Dynamo-Attribut.
12
Antworten
In C, ist i+=1; atomic? Überprüfen Sie dies für einige Perspektive: "stackoverflow.com/questions/652788/... InformationsquelleAutor Crazy Chenz | 2009-11-24
3
Antworten
Ich versuche zu zählen atomic in meiner C++ - pthread-Programm. #include <atomic> Aber, ich erhielt den Fehler: Fehler: atomic: Keine solche Datei oder Verzeichnis Habe ich versucht : #include <asm/atomic> #include <atomic.h> #include <linux/atomic> #include <util/atomic> #include
4
Antworten
Beispielsweise brauche ich, um ein sperren der bool Wert, wenn multithreading? In den meisten Situationen, wenn Sie schriftlich von beiden threads verwenden, sollten Sie das Schloss... Ich würde dann das tun, was Mitch sagt. =) InformationsquelleAutor Benny
4
Antworten
Ich bin die Umgestaltung der Daten-import-Verfahren für eine enterprise-Anwendung und kam über ein snippet würde ich gerne eine bessere Lösung zu finden. Beim importieren von Daten, die wir haben, um eine einzigartige Entität, die für jedes Daten-set,
2
Antworten
C++11 eingeführt, die std::atomic<> template library. Die Norm legt die store() und load() Operationen atomar set /get eine variable, die gemeinsam von mehr als einem thread. Meine Frage ist, sind die Zuordnung und den Zugang Operationen auch
3
Antworten
Ich muss an eine Atomare variable, die in C, da diese variable zugegriffen wird, in unterschiedlichen threads. Nicht wollen, eine race-Bedingung. Mein code läuft auf CentOS. Was sind meine Optionen? en.wikipedia.org/wiki/Volatile_variable Auch dies kann den Wert Lesen:
5
Antworten
Was sind Atomare Aktionen und warum sind Sie notwendig? Auch, Wie sind Atomare Aktionen, die in Java implementiert? Mein Verständnis ist, dass in der Programmierung eine Atomare Aktion ist eine, die effektiv geschieht. Eine Atomare Aktion kann
1
Antworten
Habe ich mir Gedanken über die return-Werte dieser beiden Funktionen. Die __sync_bool_compare_and_swap-Funktion den Rückgabewert zu haben scheint offensichtliche Vorteile, also kann ich es verwenden, um zu sagen, ob die swap-operation stattfand. Allerdings kann ich nicht sehen, einen
2
Antworten
Ich habe ein Problem mit meinem kernel.cu-Klasse Aufrufen nvcc -v kernel.cu -o kernel.o ich bin immer diese Fehlermeldung: kernel.cu(17): error: identifier "atomicAdd" is undefined Mein code: #include "dot.h" #include <cuda.h> #include "device_functions.h" //might call atomicAdd __global__ void
4
Antworten
Ich habe ein Problem mit OpenMP. MSVS compilator wirft mich "pragma omp atomic hat das falsche Formular". Ich habe keine Ahnung, warum. Code: (Programm ernennt der Zahl PI mit Integrale Methode) #include <stdio.h> #include <time.h> #include <omp.h>
3
Antworten
War ich versucht zu kompilieren, einige CUDA-codes unter visual studio 2010 mit CUDA 4.2 (habe ich das CUDA-Projekt mit Parallel Nsight 2.2), aber ich traf eine Atomare problem "error : identifier "atomicAdd" undefined", die ich noch nicht
3
Antworten
Kann die compare-and-swap-Funktion verwendet werden, um die swap-Variablen atomar? Ich bin mit C/C++ über gcc auf x86_64-RedHat-Linux, insbesondere der __sync gelieferten. Beispiel: int x = 0, y = 1; y = __sync_val_compare_and_swap(&x, x, y); Ich denke, das
2
Antworten
Meiner Frage geht es darum, std::atomic und die Daten, die dieser Zeiger verweist. Wenn in thread 1 habe ich Object A; std:atomic<Object*> ptr; int bar = 2; A.foo = 4; //foo is an int; ptr.store(*A); und wenn
2
Antworten
Wie würden Sie die folgende Frage beantworten? Einer Methode einer java-Klasse, enthält einen Codeblock, der muss sein ausgeführt atomar. Erklären Sie mit Hilfe geeigneter pseudo-code, wie Sie Sie würde sicherstellen, dass dieser code-block wird ausgeführt, atomar Möchte
1
Antworten
Ich versuche zu verwenden __atomic_load_n von der gcc atomic gelieferten Seite auszuwerten, um mit gcc -Wall -march=i686 -std=gnu99 ll.c -o ll aber es sagt mir, es kann nicht Warnung: implizite Deklaration der Funktion "__atomic_Last_n' Dachte ich, es
4
Antworten
Ich sowas lese wie unten in 1NF form von DBMS. Es war ein Satz, wie folgt: "Jede Spalte sollte atomaren." Kann jemand bitte erklären Sie es mir gründlich mit einem Beispiel? InformationsquelleAutor Prashant2329 | 2014-06-04
2
Antworten
Ich bin mir nicht sicher, ob es mich nicht zu verstehen, oder die Dokumentation ist nicht eindeutig formuliert. Der folgende Auszug wurde aus dem neuesten Entwurf (N3126, Kapitel 29.6): bool atomic_compare_exchange_weak(volatile A* object, C * expected, C
7
Antworten
Ist es ein Weg, um eine Atomare Funktion in C. Ich bin nicht auf der Suche nach einer tragbaren Lösung.(Plattformen suchen - Win,Linux) Wenn Sie nicht auf der Suche nach einer tragbaren Lösung, Sie müssen geben Sie
1
Antworten
Möchte ich den neuen atomic-Operationen zur Verfügung gestellt von der C11-standard. Allerdings versucht zu #include die entsprechende header-Datei gibt mir diese: csort-par.c:5:23: fatal error: stdatomic.h: No such file or directory #include <stdatomic.h> In der Dokumentation bei http://gcc.gnu.org/wiki/C11Status
2
Antworten
Habe ich gearbeitet, auf einem embedded-OS für ARM, Allerdings gibt es ein paar Dinge, die ich nicht Verstand, über die Architektur, auch nach dem Hinweis auf ARMARM-und linux-source. Atomare Operationen. ARM ARM, sagt, dass die Load-und Store-Anweisungen
2
Antworten
Ich bin die Implementierung eines lock-free-Mechanismus mit atomarer (double) vergleichen und swap-Anweisungen z.B. cmpxchg16b Bin ich derzeit Schreibe dies in der Montage und dann verknüpfen Sie es in. Allerdings fragte ich mich, ob es war ein Weg,
5
Antworten
Ich bin auf der Suche nach einem Weg, der durch das anhalten eines Thread. Begann ich mit affektiv mit ein boolean-flag (genannt 'angehalten'), und die Umhüllung einen Scheck mit einer while-Schleife (pause). Innerhalb der while-Schleife gibt es