메시지 전달 함수

비동기 에이전트 라이브러리는 구성 요소 간에 메시지를 전달할 수 있는 몇 가지 함수를 제공합니다.

이러한 메시지 전달 함수는 다양한 메시지 블록 형식과 함께 사용됩니다. 동시성 런타임에서 정의한 메시지 블록 형식에 대한 자세한 내용은 비동기 메시지 블록을 참조 하세요.

섹션

이 항목에서는 다음과 같은 메시지 전달 함수에 대해 설명합니다.

보내기 및 추가

동시성::send 함수는 지정된 대상에 메시지를 동기적으로 보내고 동시성::asend 함수는 지정된 대상에 메시지를 비동기적으로 보냅니다. sendasend 함수는 모두 대상이 결국 메시지를 수락하거나 거부한다는 것을 표시할 때까지 기다립니다.

함수는 send 메시지가 반환되기 전에 대상이 메시지를 수락하거나 거부할 때까지 기다립니다. 메시지가 send 배달되었으면 함수가 반환되고, false 그렇지 않으면 반환 true 됩니다. 함수는 send 동기적으로 작동하므로 함수는 send 메시지가 반환되기 전에 대상이 메시지를 받을 때까지 기다립니다.

반대로 함수는 asend 메시지가 반환되기 전에 대상이 메시지를 수락하거나 거부할 때까지 기다리지 않습니다. 대신 대상에서 asend 메시지를 수락하고 결국 메시지를 받는 경우 함수가 반환 true 됩니다. 그렇지 않으면 asend 대상이 메시지를 거부했거나 메시지를 받을지 여부에 대한 결정을 연기했음을 나타내기 위해 반환 false 됩니다.

[맨 위로 이동]

수신 및 try_receive

동시성::수신동시성::try_receive 함수는 지정된 원본에서 데이터를 읽습니다. 함수는 receive 데이터를 사용할 수 있게 될 때까지 기다리는 반면 함수는 try_receive 즉시 반환됩니다.

계속하려면 receive 데이터가 있어야 하는 경우 함수를 사용합니다. 현재 컨텍스트를 try_receive 차단해서는 안 되거나 데이터를 계속 사용할 필요가 없는 경우 함수를 사용합니다.

[맨 위로 이동]

예제

asendreceive 함수를 send 사용하는 예제는 다음 항목을 참조하세요.

[맨 위로 이동]

참고 항목

비동기 에이전트 라이브러리
비동기 메시지 블록
send 함수
asend 함수
receive 함수
try_receive 함수