Skip to Content
안드로이드 멀티스레딩: 비동기 메커니즘으로 날렵하고 안정적인 앱 만들기
book

안드로이드 멀티스레딩: 비동기 메커니즘으로 날렵하고 안정적인 앱 만들기

by 한대희, 안데르스 예란손
April 2016
Beginner to intermediate
308 pages
7h 21m
Korean
Hanbit Media, Inc.
Content preview from 안드로이드 멀티스레딩: 비동기 메커니즘으로 날렵하고 안정적인 앱 만들기
69
4
-
스레드 통신
PipeExampleActivity
가 생성되면 콘텐츠 변화에 대한 리스너(
TextWatcher
)가 달린
EditText
를 보여줄 것이다.
EditText
에 새로운 문자가 추가될 때마다 문자가 파이프에 기록
되고
TextHandlerTask
로 읽어 들인다. 소비자 태스크는 읽을 것이 있는 한 파이프에서 문자를
읽는 무한 반복문이다. 안쪽
while
반복문은 파이프가 비어 있으면
read
( )
호출을 차단한다.
CAUTION
_
파이프가 가득 차 있거나(생산자 스레드가
write
() 호출을 막는다), 비어 있을 때(소비자 스
레드가
read
() 호출을 막는다)는 호출이 차단될 수 있으므로 파이프와 함께
UI
스레드를 포함할 때 주의해
야 한다.
4.2
공유 메모리
공유 메모리(
heap
메모리 영역을 사용)는 스레드 간에 정보를 전달하는 일반적인 방법이다. 응
용프로그램의 모든 스레드는 프로세스에서 같은 주소 공간에 접근할 수 있다. 그러므로 [그림
4
-
2
]에서 보이는 것같이 하나의 스레드가 공유 메모리 안의 변수에 값을 쓰면 다른 모든 스레드
에서 읽을 수 있다.
그림
4-2
공유 메모리를 통한 스레드 통신
.
.
.
.
.
.
공유 메모리
쓰기
읽기
쓰기
읽기
스레드가 지역변수에 데이터를 저장하면 다른 스레드는 지역변수에 접근할 수 없다. 공유 메모
리에 데
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.
Start your free trial

You might also like

코드로 인프라 관리하기: 효율적인 인프라 관리를 위한 자동화 방법

코드로 인프라 관리하기: 효율적인 인프라 관리를 위한 자동화 방법

강재준

Publisher Resources

ISBN: 9788968481703