이 설명서는 보관되지만 유지 되지 않습니다.

Thread.VolatileRead 메서드 (Object%)

업데이트: 2007년 11월

필드 값을 읽습니다. 이 값은 프로세서 수나 프로세서 캐시의 상태에 관계 없이 컴퓨터의 특정 프로세서에서 마지막으로 쓴 값입니다.

네임스페이스:  System.Threading
어셈블리:  mscorlib(mscorlib.dll)

public static Object VolatileRead(
	ref Object address
)
public static Object VolatileRead(
	/** @ref */Object address
)
public static function VolatileRead(
	address : Object
) : Object

매개 변수

address
형식: System.Object%

읽을 필드입니다.

반환 값

형식: System.Object

프로세서에서 해당 필드에 쓴 마지막 값입니다.

VolatileReadVolatileWrite는 특수한 동기화의 경우에 사용됩니다. 일반적인 환경에서 C# lock 문, Visual Basic SyncLock 문 및 Monitor 클래스는 더 쉬운 문을 제공합니다.

다중 프로세서 시스템에서 VolatileRead는 임의의 프로세서가 메모리 위치에 쓰는 가장 최근 값을 가져옵니다. 이것에는 플러싱 프로세서 캐시가 필요합니다.

단일 프로세서 시스템의 경우에도 VolatileReadVolatileWrite를 사용하면 값을 프로세서 레지스터 등에 캐시하지 않고 메모리에 쓰거나 읽을 수 있습니다. 따라서 이들을 사용하여 다른 스레드나 하드웨어에 의해 업데이트될 수 있는 필드 액세스를 동기화할 수 있습니다.

이 메서드를 호출하면 단일 메모리 액세스만 영향을 받습니다. 유효한 동기화를 필드에 제공하려면 필드에 액세스할 때 항상 VolatileRead 또는 VolatileWrite를 사용해야 합니다.

참고:

C#에서는 필드에서 volatile 수정자를 사용하면 해당 필드에 액세스하는 경우 VolatileRead 또는 VolatileWrite가 항상 사용됩니다.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0, 1.1에서 지원
표시: