24장. 고루틴과 동시성 프로그래밍 24.1 스레드란? 고루틴 : 경량 스레드, 함수나 명령을 동시에 실행할 때 사용 24.1.1 컨텍스트 스위칭 비용 컨텍스트 스위칭 비용 : CPU 코어가 여러 스레드를 전환하면서 수행할 경우 드는 비용 스레드 컨텍스트 : 스레드 전환시 현 상태를 보관하는데, 스레드의 명령 포인터 intstruction pointer, 스택 메모리등 코어 개수의 두 배 이상 스레드를 만들면 스위칭 비용이 많이 발생 GO 언어는 CPU 코어마다 OS 스레드를 하나만 할당해서 사용하기에 컨텍스트 스위칭 비용이 발생하지 않는다. 24.2 고루틴 사용 모든 프로그램은 고루틴을 최소 하나는 가지는데 이것이 메인루틴이다. 메인루틴인 고루틴은 main()함수와 함께 시작되고 종료된다. 고루틴 추가..