Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout

Thread.VolatileRead, méthode (IntPtr)

Lit la valeur d'un champ. Il s'agit de la dernière valeur écrite par un processeur d'un ordinateur, quel que soit le nombre de processeurs ou l'état du cache de processeurs.

Espace de noms : System.Threading
Assembly : mscorlib (dans mscorlib.dll)

public static IntPtr VolatileRead (
	ref IntPtr address
)
public static IntPtr VolatileRead (
	/** @ref */ IntPtr address
)
JScript ne prend pas en charge le passage d'arguments de type valeur par référence.

Paramètres

address

Champ à lire.

Valeur de retour

Dernière valeur écrite dans le champ par un processeur.

VolatileRead et VolatileWrite sont réservées à des cas de synchronisation particuliers. Dans des circonstances normales, l'instruction lock C#, l'instruction SyncLock Visual Basic ou la classe Monitor constituent des alternatives plus simples.

Sur un système multiprocesseur, VolatileRead obtient la dernière valeur écrite dans un emplacement de la mémoire par n'importe quel processeur. Ceci peut demander le vidage des caches des processeurs.

Même sur un système monoprocesseur, VolatileRead et VolatileWrite garantissent qu'une valeur est lue ou écrite en mémoire et non mise en cache (par exemple, dans un registre du processeur). Vous pouvez, dès lors, les utiliser pour synchroniser l'accès à un champ qui peut être mis à jour par un autre thread ou par un composant matériel.

L'appel de cette méthode n'affecte qu'un accès unique à la mémoire. Pour qu'un champ bénéficie d'une synchronisation efficace, tous les accès au champ doivent utiliser VolatileRead ou VolatileWrite.

RemarqueRemarque

En C#, l'emploi du modificateur volatile sur un champ garantit que tous les accès à ce champ utilisent VolatileRead ou VolatileWrite.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft