goroutine
-
goroutine 스케줄링Programming Language/golang 2024. 5. 1. 15:56
goroutine 스케줄링이 어떻게 동작하는지 정리한다.0. OS 스레드의 단점 - 생성/소거 비용이 비싸다.기본적으로 약 1MB 의 메모리 크기다. - 스레드의 숫자가 많으면 많을수록 컨텍스트 스위칭 비용이 비싸다.코어는 한정되어 있기 때문에 여러 스레드가 돌아가면서 사용할 때마다 컨텍스트 스위칭 발생.1. goroutine 특징- Goruntime이 관리하는 goroutine(고루틴)이라는 자체 동시성 모델을 구성하여 사용한다.OS 스레드가 1MB의 스택을 갖는 반면 고루틴은 이보다 훨씬 작은 약 2KB의 스택을 가짐.레지스터도 스택포인터(SP), 프로그램 카운터(PC), 리턴 포인터 정도가 전부이다.type g struct { stack stack // 스택 stackgua..