Rust

메시지 패싱을 사용하여 스레드 간 데이터 전송하기

안전한 동시성을 보장하기 위해 인기가 오르고 있는 접근법 중에는 메시지 패싱(message passing) 이 있는데, 이는 스레드들 혹은 액터들이 서로 데이터를 담은 메시지를 보내서 통신하는 것입니다. Go 언어 문서의 슬로건에 있는 아이디어는 다음과 같습니다.

채널과 소유권 이동와 여러 값 보내기와 수신자가 기다리는지 알아...를 중심으로 메시지 패싱을 사용하여 스레드 간 데이터 전송하기의 판단 흐름을 읽습니다.

핵심 흐름

1

핵심 개념: mpsc 채널의 송신-수신 흐름

여기서는 값을 생성하여 채널로 내려보내는 한 스레드와, 값을 받아서 이를 출력하는 또 다른 스레드로 이루어진 프로그램을 만들어 보겠습니다.

2

채널과 소유권 이동

실험을통해 채널과 소유권이 함께 동작하는 것이 어떤 식으로 문제를 방지하는지알아봅시다.

3

여러 값 보내기와 수신자가 기다리는지 알아...

바로 송신자(transmitter)와 수신자(receiver) 입니다.송신자 측은 여러분이 강에 고무 오리를 띄우는 상류 위치이고, 수신자측은 하류에 고무 오리가 도달하는...

4

송신자를 복제하여 여러 생산자 만들기

예제 15-11처럼채널의 송신자를 복제하면 그렇게 할 수 있습니다.예제 15-11: 여러 개의 생산자로부터 여러 메시지보내기이번에는 첫 번째로 생성된 스레드를 생성하기 전에...