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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

Thread Local Storage

Parallel.Invoke 호출시 메인스레드 사용 이유

작성

·

260

0

안녕하세요

의아한 점이 생겨 질문드립니다.

메인에서 MaxThread의 수를 3개로 지정한 상태에서 

Invoke를 호출하고 ManagedThreadId를 확인하면 Invoke시에 메인 스레드인 1번을 사용하는 이유가 무엇인가요?.. MaxThread를 (1,1)로 설정해도 무조건  한 번은 메인 스레드를 사용하고 그 다음부턴 풀에서 스레드를 꺼내쓰더라구요.. 왜 한 번은 메인스레드가 사용되는건가요?  

답변 1

1

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

Parallel.Invoke는 병렬 처리를 해주는 함수이고
세부 구현은 MS에서 만든 것이니
"왜" 그런지 이해하는 범위가 아니라
테스트를 통해 동작을 확인하고 그냥 그런가보다 하고 받아들여야 합니다.

MSDN 보면 어떤 쓰레드에 의해 일감이 실행될지는 그때 그때 다르다고 하네요.
https://docs.microsoft.com/ko-kr/dotnet/api/system.threading.tasks.parallel.invoke?view=net-5.0

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기