핵심 개념: mpsc 채널의 송신-수신 흐름
여기서는 값을 생성하여 채널로 내려보내는 한 스레드와, 값을 받아서 이를 출력하는 또 다른 스레드로 이루어진 프로그램을 만들어 보겠습니다.
안전한 동시성을 보장하기 위해 인기가 오르고 있는 접근법 중에는 메시지 패싱(message passing) 이 있는데, 이는 스레드들 혹은 액터들이 서로 데이터를 담은 메시지를 보내서 통신하는 것입니다. Go 언어 문서의 슬로건에 있는 아이디어는 다음과 같습니다.
채널과 소유권 이동와 여러 값 보내기와 수신자가 기다리는지 알아...를 중심으로 메시지 패싱을 사용하여 스레드 간 데이터 전송하기의 판단 흐름을 읽습니다.
여기서는 값을 생성하여 채널로 내려보내는 한 스레드와, 값을 받아서 이를 출력하는 또 다른 스레드로 이루어진 프로그램을 만들어 보겠습니다.
실험을통해 채널과 소유권이 함께 동작하는 것이 어떤 식으로 문제를 방지하는지알아봅시다.
바로 송신자(transmitter)와 수신자(receiver) 입니다.송신자 측은 여러분이 강에 고무 오리를 띄우는 상류 위치이고, 수신자측은 하류에 고무 오리가 도달하는...
예제 15-11처럼채널의 송신자를 복제하면 그렇게 할 수 있습니다.예제 15-11: 여러 개의 생산자로부터 여러 메시지보내기이번에는 첫 번째로 생성된 스레드를 생성하기 전에...