Dreamine.Threading.Windows 1.0.1
이 패키지는 다른 어셈블리에서 `DMContainer`를 partial class로 확장하지 않습니다. 등록은 별도의 Registration 클래스를 통해 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.Threading.Windows.Services.WindowsTimerResolutionService 클래스 참조sealed

더 자세히 ...

Dreamine.Threading.Windows.Services.WindowsTimerResolutionService에 대한 상속 다이어그램 :
Dreamine.Threading.Windows.Services.WindowsTimerResolutionService에 대한 협력 다이어그램:

Public 멤버 함수

 WindowsTimerResolutionService ()
 WindowsTimerResolutionService (uint period)
void Begin ()
void End ()
void Dispose ()

Private 멤버 함수

void ThrowIfDisposed ()

Private 속성

readonly object _syncRoot = new()
readonly uint _period
int _referenceCount
bool _disposed

상세한 설명

고정밀 스레드 주기를 위해 Windows 타이머 해상도를 참조 카운트 방식으로 제어합니다.

WindowsTimerResolutionService.cs 파일의 14 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ WindowsTimerResolutionService() [1/2]

Dreamine.Threading.Windows.Services.WindowsTimerResolutionService.WindowsTimerResolutionService ( )
inline

기본 1밀리초 주기로 T:Dreamine.Threading.Windows.Services.WindowsTimerResolutionService 클래스의 새 인스턴스를 초기화합니다.

WindowsTimerResolutionService.cs 파일의 61 번째 라인에서 정의되었습니다.

62 : this(1)
63 {
64 }

다음에 의해서 참조됨 : ThrowIfDisposed().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ WindowsTimerResolutionService() [2/2]

Dreamine.Threading.Windows.Services.WindowsTimerResolutionService.WindowsTimerResolutionService ( uint period)
inline

지정한 주기로 T:Dreamine.Threading.Windows.Services.WindowsTimerResolutionService 클래스의 새 인스턴스를 초기화합니다.

매개변수
period밀리초 단위 타이머 해상도 주기이며 0은 1로 보정됩니다.

WindowsTimerResolutionService.cs 파일의 82 번째 라인에서 정의되었습니다.

83 {
84 _period = period == 0 ? 1 : period;
85 }

다음을 참조함 : _period.

멤버 함수 문서화

◆ Begin()

void Dreamine.Threading.Windows.Services.WindowsTimerResolutionService.Begin ( )
inline

사용 참조를 증가시키고 첫 참조에서 Windows 고정밀 타이머 해상도를 요청합니다.

예외
ObjectDisposedException서비스가 이미 정리된 경우 발생합니다.
DllNotFoundExceptionwinmm.dll을 로드할 수 없을 때 발생할 수 있습니다.

네이티브 반환 코드는 현재 구현에서 검사하지 않습니다.

WindowsTimerResolutionService.cs 파일의 119 번째 라인에서 정의되었습니다.

120 {
121 lock (_syncRoot)
122 {
123 ThrowIfDisposed();
124
125 if (_referenceCount == 0)
126 {
127 WinMmNativeMethods.timeBeginPeriod(_period);
128 }
129
130 _referenceCount++;
131 }
132 }

다음을 참조함 : _period, _referenceCount, _syncRoot, ThrowIfDisposed().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ Dispose()

void Dreamine.Threading.Windows.Services.WindowsTimerResolutionService.Dispose ( )
inline

남은 모든 타이머 해상도 참조를 해제하고 서비스를 정리합니다.

예외
DllNotFoundException활성 참조를 해제하는 동안 winmm.dll을 로드할 수 없을 때 발생할 수 있습니다.

WindowsTimerResolutionService.cs 파일의 197 번째 라인에서 정의되었습니다.

198 {
199 lock (_syncRoot)
200 {
201 if (_disposed)
202 {
203 return;
204 }
205
206 while (_referenceCount > 0)
207 {
208 WinMmNativeMethods.timeEndPeriod(_period);
209 _referenceCount--;
210 }
211
212 _disposed = true;
213 }
214 }

다음을 참조함 : _disposed, _period, _referenceCount, _syncRoot.

◆ End()

void Dreamine.Threading.Windows.Services.WindowsTimerResolutionService.End ( )
inline

사용 참조를 감소시키고 마지막 참조에서 Windows 타이머 해상도 요청을 해제합니다.

예외
DllNotFoundExceptionwinmm.dll을 로드할 수 없을 때 발생할 수 있습니다.

정리된 상태이거나 활성 참조가 없으면 아무 작업도 하지 않습니다.

WindowsTimerResolutionService.cs 파일의 158 번째 라인에서 정의되었습니다.

159 {
160 lock (_syncRoot)
161 {
162 if (_disposed)
163 {
164 return;
165 }
166
167 if (_referenceCount <= 0)
168 {
169 return;
170 }
171
172 _referenceCount--;
173
174 if (_referenceCount == 0)
175 {
176 WinMmNativeMethods.timeEndPeriod(_period);
177 }
178 }
179 }

다음을 참조함 : _disposed, _period, _referenceCount, _syncRoot.

◆ ThrowIfDisposed()

void Dreamine.Threading.Windows.Services.WindowsTimerResolutionService.ThrowIfDisposed ( )
inlineprivate

타이머 해상도 서비스가 아직 정리되지 않았는지 확인합니다.

예외
ObjectDisposedException서비스가 이미 정리된 경우 발생합니다.

WindowsTimerResolutionService.cs 파일의 232 번째 라인에서 정의되었습니다.

233 {
234 if (_disposed)
235 {
236 throw new ObjectDisposedException(nameof(WindowsTimerResolutionService));
237 }
238 }

다음을 참조함 : _disposed, WindowsTimerResolutionService().

다음에 의해서 참조됨 : Begin().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _disposed

bool Dreamine.Threading.Windows.Services.WindowsTimerResolutionService._disposed
private

disposed 값을 보관합니다.

WindowsTimerResolutionService.cs 파일의 51 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : Dispose(), End(), ThrowIfDisposed().

◆ _period

readonly uint Dreamine.Threading.Windows.Services.WindowsTimerResolutionService._period
private

period 값을 보관합니다.

WindowsTimerResolutionService.cs 파일의 33 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : Begin(), Dispose(), End(), WindowsTimerResolutionService().

◆ _referenceCount

int Dreamine.Threading.Windows.Services.WindowsTimerResolutionService._referenceCount
private

reference Count 값을 보관합니다.

WindowsTimerResolutionService.cs 파일의 42 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : Begin(), Dispose(), End().

◆ _syncRoot

readonly object Dreamine.Threading.Windows.Services.WindowsTimerResolutionService._syncRoot = new()
private

sync Root 값을 보관합니다.

WindowsTimerResolutionService.cs 파일의 24 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : Begin(), Dispose(), End().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: