Vous avez raison que vous n'avez pas besoin d'un enseignement spécial pour atomiquement lire un entier 32 bits, cependant, ce que cela signifie est que vous obtiendrez le "tout" de la valeur (c'est à dire que vous n'obtiendrez pas partie d'une écriture et d'une partie de l'autre). Vous n'avez aucune garantie que la valeur n'aura pas changé une fois que vous l'aurez lu.
C'est à ce point où vous devez décider si vous devez utiliser une autre méthode de synchronisation pour le contrôle d'accès, disons que si vous utilisez cette valeur pour lire un membre à partir d'un tableau, etc.
En un mot, l'atomicité assure une opération qui se passe complètement et de manière indivisible. Compte tenu de certaines opération A
qui contenait N
étapes, si vous l'avez fait pour le droit de l'opération après A
vous pouvez être assuré que toutes N
étapes qui s'est passé dans l'isolement d'opérations simultanées.
Si vous avez eu deux fils qui a exécuté l'opération atomique A
vous garantis que vous verrez seulement les compléter résultat de l'un des deux fils. Si vous souhaitez coordonner les fils, les opérations atomiques pourraient être utilisés pour la création de la synchronisation. Mais les opérations atomiques dans et d'eux-mêmes ne pas assurer un haut niveau de synchronisation. L' Interlocked
famille de méthodes sont disponibles pour fournir certains fondamentaux des opérations atomiques.
La synchronisation est une sorte de contrôle de concurrence, souvent construit autour atomique opérations. La plupart des processeurs mémoire obstacles qui vous permettent de s'assurer que toutes les lignes de cache sont vidées et vous avez un uniforme de vue de la mémoire. Volatile lit sont un moyen de s'assurer de la cohérence de l'accès à un emplacement mémoire.
Alors que pas immédiatement applicable à votre problème, à lire sur ACID (atomicité, cohérence, isolation et durabilité) à l'égard des bases de données peut vous aider avec la terminologie.