Go가 기존 스레딩 모델보다 동시성을 더 잘 처리하는 방법
현대 소프트웨어 엔지니어링에서 여러 작업을 동시에 수행할 수 있는 애플리케이션을 구축하는 것은 더 이상 사치가 아니라 핵심 요구 사항입니다. 처리량이 높은 웹 서버부터 실시간 스트리밍 서비스까지, 동시성은 성능의 핵심입니다.
수십 년 동안 C++, Java, Python과 같은 기존 프로그래밍 언어는 운영 체제의 기본 스레딩 모델을 사용하여 동시 작업을 처리했습니다. 그러나 구글이 2000년대 후반에 Go(Golang)를 디자인했을 때 그들은 근본적으로 다른 길을 택했습니다. Go는 원시 OS 스레드를 노출하는 대신 Goroutines 및 특수한 M:N Scheduler를 도입했습니다.
Go
Golang
Concurrency
Goroutines
M:N Scheduler
Channels
Software Architecture