멀티스레드 응용프로그램에서 여러 태스크는 병렬로 실행될 수 있고, 결과를 만들기 위해 협력
할 수 있다. 따라서 스레드는 정확한 비동기 처리를 위해 서로 통신할 수 있어야 한다. 이 장에서
는 기존의 자바 기술과 함께 안드로이드 플랫폼의 핸들러/루퍼
handler
/
looper
메커니즘의 스레드 통
신의 중요성에 초점을 둔다. 다음 내용을 다룰 것이다.
●
단방향 데이터 파이프를 통한 데이터 전달
●
공유 메모리 통신
●
블로킹 큐를 사용하는 소비자
-
생산자 패턴 구현
●
메시지 큐의 동작
●
UI
스레드로 태스크 재전송
4.1
파이프
파이프는
java
.
io
패키지의 한 부분이다. 즉, 파이프는 안드로이드에서만 사용하는 것이 아닌
기본 자바의 기능이다. 파이프는 같은 프로세스 내에서 두 스레드 간의 단방향 데이터 채널을 연
결하고 설정하는 방법을 제공한다. 생산자 스레드는 파이프에 데이터를 기록하는 반면, 소비자
스레드는 파이프에서 데이터를 읽는다.
스레드 통신
CHAPTER
4
64
1
부
-
기초
NOTE
_
자바 파이프는 하나의 명령어 출력을 다른 명령어의 입력으
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.