정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

SpinWait 구조체

2013-12-13

회전 기반 대기를 지원합니다.

Namespace:  System.Threading
어셈블리:  mscorlib(mscorlib.dll)

public struct SpinWait

SpinWait 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 속성Count이 인스턴스에서 SpinOnce가 호출된 횟수를 가져옵니다.
Public 속성NextSpinWillYield다음 SpinOnce 호출이 프로세서를 생성하여 강제 컨텍스트 전환을 트리거할지 여부를 가져옵니다.
맨 위

  이름설명
Public 메서드Equals이 인스턴스와 지정된 개체가 같은지 여부를 나타냅니다. (ValueType에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode해당 인스턴스에 대한 해시 코드를 반환합니다. (ValueType에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드Reset회전 수를 다시 설정합니다.
Public 메서드SpinOnce단일 회전을 수행합니다.
Public 메서드정적 멤버SpinUntil(Func<Boolean>)지정된 조건이 충족될 때까지 회전합니다.
Public 메서드정적 멤버SpinUntil(Func<Boolean>, Int32)지정된 조건이 충족되거나 지정된 제한 시간이 만료될 때까지 회전합니다.
Public 메서드정적 멤버SpinUntil(Func<Boolean>, TimeSpan)지정된 조건이 충족되거나 지정된 제한 시간이 만료될 때까지 회전합니다.
Public 메서드ToString이 인스턴스의 정규화된 형식 이름을 반환합니다. (ValueType에서 상속됨)
맨 위

SpinWait는 일반적인 회전 논리를 캡슐화합니다. 단일 프로세서 컴퓨터에서는 양도가 항상 사용 중 대기 대신 사용되며 Hyper-Threading™ 기술을 사용하는 Intel™ 프로세서가 있는 컴퓨터에서는 하드웨어 스레드 고갈을 방지하는 데 도움이 됩니다. SpinWait은 회전 및 true 발생의 적절한 혼합을 캡슐화합니다.

SpinWait는 하위 수준의 코드가 불필요한 할당 오버헤드 걱정 없이 SpinWait를 이용할 수 있는 값 형식입니다. SpinWait은 대체로 일반적인 응용프로그램에 유용하지 않습니다. 대부분의 경우 Monitor와 같은 .NET Framework에서 제공하는 동기화 클래스를 사용해야 합니다. 그러나 회전 대기가 필요한 대부분의 경우 SpinWait 형식은 기본적으로 SpinWait 메서드가 되어야 합니다.

다음 예제에서는 SpinWait를 사용하는 방법을 보여 줍니다.

Windows Phone OS

지원되는 버전: 8.0

SpinWait은 동시 응용프로그램에 사용할 수 있도록 설계되었지만 여러 스레드에서 동시에 사용할 수 있도록 설계되지 않았습니다. SpinWait 멤버는 스레드로부터 안전하지 않습니다. 여러 스레드를 스핀해야 하는 경우 각각 SpinWait의 자체 인스턴스를 사용해야 합니다.

표시: