• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

강사님 꼭 답변 부탁드려요..ㅠㅠ

22.12.09 21:04 작성 조회수 337

0

아래에 댓글 달았는데

늦게 달아서 그런지 답이 없으셔서요..

https://www.inflearn.com/questions/622656/

아직 해결을 못했는데 부탁드립니다

답변 1

답변을 작성해보세요.

0

동일한 답변을 달 수 밖에 없는데요.
image
CPU에 따라 동작하는게 다르니 SetMin/Max Threads 함수를 실행했더라도
꼭 그 개수대로 늘어났다는 보장이 없습니다.
for()에서 넣어준 애들은 무한루프를 돌고 있어서 놔주질 않으니
따라서 아마도 실제 쓰레드 풀에 있는 쓰레드가 부족해서 그럴 확률이 높습니다.

https://learn.microsoft.com/ko-kr/dotnet/api/system.threading.threadpool.queueuserworkitem?view=net-7.0

int workerThreads, completionThreads;
ThreadPool.GetMaxThreads(out workerThreads, out completionThreads);

위와 ThreadPool.GetMaxThreads를 이용해서 실제 최대 쓰레드 개수를 살펴보세요.
그리고 이 정도로 중요하게 고민하실 필요가 있는 이슈가 아닙니다.



갯수는 맞게 뜨는데 한 쓰레드가 놀고 있더라구요. CPU환경에 따른 현상이라고 이해하면 되는거 맞을까요?

네 그렇습니다