Thread Groups

Thread Groups

스레드 그룹(thread group)은 CPU에 동등한 권리를 갖는 스레드들과 다른 스레드 그룹들의 모음이에요. 스레드 그룹을 중첩하고 특정 그룹 안에서 특정 스레드를 만들면, 프로그래머가 스레드 집합에 할당되는 CPU 양을 제어할 수 있어요. 모든 스레드는 스레드 그룹에 속하며, 그 그룹은 스레드가 만들어질 때 current-thread-group 파라미터로 결정돼요. 스레드 그룹과 커스토디언(Custodians 문서 참고)은 서로 독립적이에요.

루트 스레드 그룹은 운영체제가 Racket에게 주는 모든 CPU를 받아요. 특정 스레드 그룹의 모든 스레드나 중첩 그룹은 CPU의 동등한 할당(그룹 접근의 일부)을 받지만, 스레드는 잠들거나 다른 프로세스와 동기화함으로써 할당의 일부를 포기할 수 있어요.

출처: Racket Reference

본문

(make-thread-group [group]) → thread-group?
group : thread-group? = (current-thread-group)

group에 속하는 새 스레드 그룹을 만들어요.

(thread-group? v) → boolean?
v : any/c

v가 스레드 그룹 값이면 #t, 그렇지 않으면 #f를 돌려줘요.

(current-thread-group) → thread-group?
(current-thread-group group) → void?
group : thread-group?

parameter

새로 만들어진 스레드의 스레드 그룹을 결정하는 파라미터예요.

더 알아보기