- Thread간의 safe하게 동기/비동기 방식으로 메세지 전달 기능
쓰레드간에 데이터 전달 및 통신을 하기 위한 라이브러리로서
AAL에 대해서 소개한다.
AAL( Asynchronous Agents Library ) 은 아래의 그림과 같은 구조를 가진다.
쓰레드 간의 메세지를 전달 하기위한 객체들로 구성되어 있으며,
Thread safe하게 동기/비동기 방식으로 메세지 전달 기능이 주된 기능이다.
관련 함수로는
- Passing Functions
- Message Block
기본적으로 동기/비동기에 대한 내용은 관련 글에서 참고하길 바란다. (동기/비동기)
메시지 전달함수에는 동기함수인
send() 와 비동기 함수인 asend() 함수가 있다.
Send 함수 원형 (Asend 함수도 일치)
1
2 template <
3 class
_Type
4 >
5 bool send(
6 ITarget<_Type> * _Trg,
7 const
_Type& _Data
8 );
9
10 template <
11 class
_Type
12 >
13 bool send(
14 ITarget<_Type> &_Trg,
15 const
_Type &_Data
16 );
Itarget<type> *trg 는 메시지 블록의 인터페이스를 상속받은 객체를 말한다.
Type은 데이터 타입을 말하고,
Data는 전달할 객체를 말한다.
** send() asend() 함수는 동일하다.