• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

ThreadPool에 직접 넣는것과 Task로 넣는 것의 차이

22.07.18 17:49 작성 조회수 187

0

학습 도중 Thread, ThreadPool, Task에 대한 이해가 완벽하지 않은 것 같아 질문을 남기게 되었습니다.

다른 수강생분들의 질의응답을 참고해봤는데

그런데 일손이 조금 부족한데 굳이 새로운 일꾼을 채용해서 굴리기 싫다면,
이를 인력 사무소(ThreadPool)에 의뢰를 하는 것도 가능한데요.
의뢰를 할 일감을 Task로 만든다고 볼 수 있겠습니다.

라는 답변이 있더라고요

그렇다면 Task는 결국 ThreadPool이라는 인력사무소에 넣어주어서 일꾼(Thread)에게 이 일을 하게 해달라는 것과 같다고 이해하였습니다.

그런데 ThreadPool에서도 일꾼에게 일감을 줄 수 있는 방법인 QueueUserWorkItem 라는 메서드가 존재합니다.

이 두가지가 어떻게 다른 것인지 이해가 잘 가지 않아 질문을 남기게 되었습니다.

답변 1

답변을 작성해보세요.

2

직접 Thread을 사용하는 것은 구식이거나 MMO 등 특정 상황에서 알맞는 방식이고,
보통 C#에서는 ThreadPool을 이용해 직접 쓰레드를 관리하지 않고
일감만 등록해서 분배 실행하는 식으로 작업을 많이 합니다.