강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

starkshn님의 프로필 이미지
starkshn

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Thread Local Storage

17분 질문

작성

·

268

0

  ThreadPool.SetMinThreads(1, 1);

            ThreadPool.SetMaxThreads(3, 3);

            Parallel.Invoke(WhoAmI, WhoAmI, WhoAmI, WhoAmI, WhoAmI, WhoAmI, WhoAmI);

 

이런식으로 Min, Max를 설정해주었기 때문에

 Parallel.Invoke 가 threadPool에서 아무 쓰레드나 뽑오와서

일을 시키는데 그 과정에서

1번쓰레드가 일을 끝내고 다시 threadPool에 있는 상태에서

 

다시 parallel가 1번 쓰레드에게 다시 일감을 던져주게 되어 

같은 ManagedThreadId 가 cmd창에 찍혀서 나오게 되는 것인가요??

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

min, max는 쓰레드 개수를 설정하는 것일뿐
그것 '때문에' Invoke가 병렬로 실행되는 것은 아닙니다.
몇번 쓰레드가 무슨 일을 하는지는 
내부적으로 관리되기에 알 수 없습니다.

starkshn님의 프로필 이미지
starkshn

작성한 질문수

질문하기