|
Dreamine.Threading 1.0.1
이 패키지는 .NET ThreadPool이나 Task Parallel Library를 대체하려는 목적이 아닙니다.
|


Public 멤버 함수 | |
| AutoCoreAllocator () | |
| AutoCoreAllocator (int logicalCoreCount) | |
| DreamineThreadCoreAssignment | Allocate (DreamineThreadOptions options) |
| void | Release (DreamineThreadCoreAssignment assignment) |
Private 멤버 함수 | |
| DreamineThreadCoreAssignment | AllocateManual (DreamineThreadOptions options) |
| DreamineThreadCoreAssignment | AllocateAuto (DreamineThreadOptions options) |
Private 속성 | |
| readonly object | _syncRoot = new() |
| readonly int | _logicalCoreCount |
| readonly int[] | _assignedCounts |
코어별 용량 정책을 사용해 Dreamine 작업자 스레드에 CPU 코어를 자동 할당합니다.
AutoCoreAllocator.cs 파일의 14 번째 라인에서 정의되었습니다.
|
inline |
현재 환경의 논리 프로세서 수로 T:Dreamine.Threading.Allocators.AutoCoreAllocator 클래스의 새 인스턴스를 초기화합니다.
AutoCoreAllocator.cs 파일의 52 번째 라인에서 정의되었습니다.
|
inline |
지정한 논리 코어 수로 T:Dreamine.Threading.Allocators.AutoCoreAllocator 클래스의 새 인스턴스를 초기화합니다.
| logicalCoreCount | 사용할 논리 CPU 코어 수이며 0 이하는 1로 보정됩니다. |
AutoCoreAllocator.cs 파일의 73 번째 라인에서 정의되었습니다.
다음을 참조함 : _assignedCounts, _logicalCoreCount.
|
inline |
정규화된 스레드 옵션의 코어 모드에 따라 코어 할당을 생성합니다.
| options | 코어 모드와 용량 설정을 포함하는 스레드 옵션입니다. |
| ArgumentNullException | options 가 null일 때 발생합니다. |
| ArgumentOutOfRangeException | 수동 코어 인덱스가 논리 코어 범위를 벗어날 때 발생합니다. |
Dreamine.Threading.Interfaces.IThreadCoreAllocator를 구현.
AutoCoreAllocator.cs 파일의 119 번째 라인에서 정의되었습니다.
다음을 참조함 : _syncRoot, AllocateAuto(), AllocateManual(), Dreamine.Threading.Models.Auto, Dreamine.Threading.Models.Manual, Dreamine.Threading.Models.DreamineThreadCoreAssignment.None(), Dreamine.Threading.Models.None, Dreamine.Threading.Models.DreamineThreadOptions.Normalize().

|
inlineprivate |
사용 카운트가 가장 낮은 코어를 선택하고 용량이 가득 차면 오버플로 할당을 반환합니다.
| options | 코어당 최대 스레드 수를 포함하는 정규화된 옵션입니다. |
AutoCoreAllocator.cs 파일의 262 번째 라인에서 정의되었습니다.
다음을 참조함 : _assignedCounts, Dreamine.Threading.Models.DreamineThreadOptions.AutoThreadsPerCore, Dreamine.Threading.Models.DreamineThreadCoreAssignment.Dedicated(), Dreamine.Threading.Models.DreamineThreadCoreAssignment.Overflow().
다음에 의해서 참조됨 : Allocate().


|
inlineprivate |
유효성을 검사한 수동 코어 할당을 만들고 사용 카운트를 증가시킵니다.
| options | 수동 코어 인덱스를 포함하는 정규화된 옵션입니다. |
| ArgumentOutOfRangeException | 코어 인덱스가 논리 코어 범위를 벗어날 때 발생합니다. |
AutoCoreAllocator.cs 파일의 218 번째 라인에서 정의되었습니다.
다음을 참조함 : _assignedCounts, _logicalCoreCount, Dreamine.Threading.Models.DreamineThreadOptions.CoreIndex, Dreamine.Threading.Models.DreamineThreadCoreAssignment.Dedicated(), Dreamine.Threading.Models.DreamineThreadCoreAssignment.None().
다음에 의해서 참조됨 : Allocate().


|
inline |
전용 코어 할당의 사용 카운트를 감소시킵니다.
| assignment | 해제할 코어 할당입니다. |
| ArgumentNullException | assignment 가 null일 때 발생합니다. |
Dreamine.Threading.Interfaces.IThreadCoreAllocator를 구현.
AutoCoreAllocator.cs 파일의 161 번째 라인에서 정의되었습니다.
다음을 참조함 : _assignedCounts, _syncRoot, Dreamine.Threading.Models.DreamineThreadCoreAssignment.CoreIndex, Dreamine.Threading.Models.DreamineThreadCoreAssignment.IsOverflowPolling.
|
private |
assigned Counts 값을 보관합니다.
AutoCoreAllocator.cs 파일의 42 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AllocateAuto(), AllocateManual(), AutoCoreAllocator(), Release().
|
private |
logical Core Count 값을 보관합니다.
AutoCoreAllocator.cs 파일의 33 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AllocateManual(), AutoCoreAllocator().
|
private |
sync Root 값을 보관합니다.
AutoCoreAllocator.cs 파일의 24 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Allocate(), Release().