C# variable fil de sécurité

Quelques questions à propos de l'accès à une variable locale à partir de plusieurs threads à la fois:

  1. J'ai plusieurs threads de l'écriture et de la lecture de la valeur d'une variable, dois-je synchroniser l'accès ou non?

  2. La variable est mise à jour toutes les quelques secondes de Thread1 et de la lecture et de la mise à jour de la Base de données toutes les quelques secondes de Thread2.

  3. Les problèmes qui peuvent survenir si je ne tiens pas à toute logique et n'ont pas de problèmes de concurrence?

  4. Dois-je utiliser volatile pour cela?

EDIT:

Je tiens à souligner que je n'ai pas de problèmes de concurrence. Voici mon scénario:

un. Ma variable est le nom de pingLatency et des mesures de ping latence

b. Thread1 est l'envoi d'un ping vers 8.8.8.8 chaque 10 secondes et écrit la latence de pingLatency

c. Thread2 mises à jour d'un correcposing champ avec la valeur de pingLatency chaque 10 secondes.

d. Thread2 met à jour la même ligne de base de données à chaque fois.

Maintenant, je suis en utilisant ce champ de base de données pour surveiller la connectivité réseau. Ma question est, Peut-il y avoir une situation où la variable n'est pas mise à jour ou de lever une exception en raison de thread questions de sécurité? Je veux éviter d'utiliser lock car il semble juste comme un overkill.

Qu'en pensez-vous?

Réponses: 1. Il dépend; 2. Il dépend; 3. Lots; 4: Probablement. Avez-vous essayé de chercher une Stack Overflow pour les questions à discuter de cela? Il ya beaucoup de questions liées à la sécurité des threads ici.
Ce qui, exactement, voulez-vous dire par "variable locale"? Post un exemple.
Je suppose que quand tu dis variable vous avez réellement dire , car variable est toujours , et alors vous ne serait pas en mesure d'accéder qu'à partir de plusieurs threads.
J'ai vérifié @Mgets comme la réponse correcte en raison du lien dans la première ligne.
vous pouvez accéder à un local à partir de plusieurs threads, pas de problème. Et non, une variable n'est pas toujours locales. Une variable est toute l'emplacement de stockage.

OriginalL'auteur Uri Abramson | 2013-07-31