언어/C#

Environment.ProcessorCount

에린_1 2024. 8. 6. 09:39
728x90

Environment.ProcessorCount

  • C#에서 현재 시스템의 논리 프로세서(코어) 수를 반환하는 속성이다.
  • 이 속성은 .NET의 System 네임스페이스에 포함되어 있으며, 멀티 스레딩 또는 병렬 작업을 최적화할 때 유용하게 사용할 수 있다.

논리 프로세서와 물리 프로세서

  • 논리 프로세서
    • 하이퍼스레딩 기술과 같은 기술을 통해 운영 체제가 인식하는 프로세서의 수를 나타낸다.
  • 물리 프로세서
    • 실제로 존재하는 코어의 수를 나타낸다.

활용

  • 스레드 풀 크기 결정
    • 시스템의 논리 프로세서 수를 기반으로 스레드 풀의 크기를 동적으로 결정할 수 있다.
  • 병렬 작업 최적화
    • 데이터 병렬 처리를 최적화할 때 사용할 스레드의 수를 조정할 수 있다.
  • 시스템 정보 제공
    • 애플리케이션에서 시스템의 프로세서 개수를 사용자에게 표시하거나 로그에 기록할 수 있다.

주의 사항

  • Environment.ProcessorCount는 논리 프로세서의 수를 반환하므로, 하이퍼 스레딩이 활성화된 시스템에서는 물리적 코어의 수보다 큰 값을 반환할 수 있다.
  • 프로세서의 수를 기반으로 작업을 분배할 때는 CPU 사용률, I/O 대기 시간 등을 고려하여 적절한 병렬 작업의 수준을 결정하는 것이 중요하다.
728x90

'언어 > C#' 카테고리의 다른 글

MethodImpl  (0) 2024.08.06
Static extern  (0) 2024.08.06
HashSet<T>  (0) 2024.08.05
SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)  (0) 2024.08.05
String.IsNullOrWhiteSpace(String)  (0) 2024.08.05