Questions marquées «atomic»

Une opération atomique est indivisible. Ce terme est utilisé pour décrire les transactions dans les bases de données, les accès de bas niveau dans les programmes multithread et les opérations du système de fichiers, entre autres.


7
Quelle est la différence entre atomique / volatile / synchronisé?
Comment fonctionne atomique / volatile / synchronisé en interne? Quelle est la différence entre les blocs de code suivants? Code 1 private int counter; public int getNextUniqueIndex() { return counter++; } Code 2 private AtomicInteger counter; public int getNextUniqueIndex() { return counter.getAndIncrement(); } Code 3 private volatile int counter; public …

6
Que signifie «atomique» dans la programmation?
Dans le livre Effective Java, il indique: La spécification du langage garantit que la lecture ou l'écriture d'une variable est atomique sauf si la variable est de type longou double[JLS, 17.4.7]. Que signifie "atomique" dans le contexte de la programmation Java ou de la programmation en général?
276 java  atomic 


3
Qu'est-ce que std :: atomic exactement?
Je comprends que std::atomic<>c'est un objet atomique. Mais dans quelle mesure atomique? À ma connaissance, une opération peut être atomique. Qu'entend-on exactement par rendre un objet atomique? Par exemple, s'il y a deux threads exécutant simultanément le code suivant: a = a + 12; Alors toute l'opération est-elle (disons add_twelve_to(int)) …

13
Num ++ peut-il être atomique pour 'int num'?
En général, for int num, num++(ou ++num), en tant qu'opération de lecture-modification-écriture, n'est pas atomique . Mais je vois souvent des compilateurs, par exemple GCC , générer le code suivant ( essayez ici ): Puisque la ligne 5, qui correspond à num++une instruction, peut-on conclure que num++ c'est atomique dans …

8
Le! = Check est-il sûr?
Je sais que les opérations composées telles que i++ne sont pas thread-safe car elles impliquent plusieurs opérations. Mais la vérification de la référence avec elle-même est-elle une opération thread-safe? a != a //is this thread-safe J'ai essayé de programmer cela et d'utiliser plusieurs threads mais cela n'a pas échoué. Je …


6
AtomicInteger lazySet vs set
Quelle est la différence entre les méthodes lazySetet setde AtomicInteger? La documentation n'a pas grand-chose à dire sur lazySet: Définit finalement la valeur donnée. Il semble que la valeur stockée ne sera pas immédiatement définie sur la valeur souhaitée, mais qu'elle sera plutôt programmée pour être définie dans le futur. …
116 java  concurrency  atomic 


4
Le fichier append est-il atomique sous UNIX?
En général, que pouvons-nous prendre pour acquis lorsque nous ajoutons à un fichier sous UNIX à partir de plusieurs processus? Est-il possible de perdre des données (un processus écrasant les modifications de l'autre)? Est-il possible que les données soient mutilées? (Par exemple, chaque processus ajoute une ligne par ajout à …

3
coût d'opération atomique
Quel est le coût de l'opération atomique (n'importe laquelle des opérations de comparaison et d'échange ou d'ajout / décrémentation atomique)? Combien de cycles consomme-t-il? Interrompra-t-il d'autres processeurs sur SMP ou NUMA, ou bloquera-t-il les accès à la mémoire? Videra-t-il le tampon de réorganisation dans le processeur en panne? Quels seront …


2
Initialisation du vecteur atomique
Considérer: void foo() { std::vector<std::atomic<int>> foo(10); ... } Le contenu de foo est-il maintenant valide? Ou dois-je les parcourir explicitement et les initialiser? J'ai vérifié Godbolt et ça semble bien, mais la norme semble être très confuse sur ce point. Le constructeur std :: vector dit qu'il insère des instances …
12 c++  vector  atomic 


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.