channel 썸네일형 리스트형 [Golang] 채널(Channel)이란? Go 언어에서 가장 대표적인 특징은 바로 고루틴(Goroutine) 이라고 할 수 있습니다.이 고루틴과 고루틴을 안전하게 연결하는 혈관같은 존재가 채널(Channel)인데요.이 채널에 대해서 한 번 정리해보겠습니다.1. 채널은 왜 만들어졌나전통적인 멀티스레드 환경에서는 여러 스레드가 하나의 메모리(공유 자원)에 접근 할 때 동시성 문제를 해결하기 위해서 뮤텍스나 세마포어 기법을 활용했습니다.하지만 코드는 복잡해지고, 잠금을 해제하는 것을 잘 제어하지 못하면 데드락이 발생하여 시스템이 멈추는 위험이 컸습니다.그래서 Go에서는 이러한 문제를 해결하기 위해서 새로운 패러다임을 제시했습니다 "공유 메모리로 통신하지 말고, 통신을 통해 메모리를 공유하자"그래서 채널이라는 것은 위 패러다임을 기준으로 만들어졌습니다.. 더보기 이전 1 다음