-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
17분 질문
22.02.16 22:02 작성 조회수 150
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창에 찍혀서 나오게 되는 것인가요??
답변을 작성해보세요.
0
Rookiss
지식공유자2022.02.17
min, max는 쓰레드 개수를 설정하는 것일뿐
그것 '때문에' Invoke가 병렬로 실행되는 것은 아닙니다.
몇번 쓰레드가 무슨 일을 하는지는
내부적으로 관리되기에 알 수 없습니다.
답변 1