[코틀린 동시성] CH7 스레드 한정, 액터, 그리고 뮤텍스
이 포스팅은 <코틀린 동시성 프로그래밍>, 미구엘 엔젤 카스티블랑코 토레스, 에이콘출판사(2020)을 읽고 개인 학습용으로 정리한 글입니다.
🔎검색용 키워드
(블로그 주인이 블로그 내 검색을 하기 위한 검색 키워드)
원자성 위반
원자성의 의미
스레드 한정
스레드 한정의 개요
코루틴을 단일 스레드로 한정
액터
액터의 역할
액터 생성
액터를 사용한 기능 확장
액터 상호작용에 대한 추가 정보
- 버퍼드 액터, capacity
- CoroutineContext를 갖는 액터
- CoroutineStart
- CoroutineStart.LAZY, CoroutineStart.DEFAULT, CoroutineStart.ATOMIC, CoroutineStart.UNDISPATCHED
상호배제
상호배제의 이해
뮤텍스 생성
상호배제와 상호작용
- lock(), unlock()
- isLocked 속성
- tryLock()
휘발성 변수
스레드 캐시
@Volatile
@Volatile이 스레드 안전 카운터 문제를 해결하지 못하는 경우
@Volatile을 사용하는 경우
원자적 데이터 구조
- AtomicInteger
- incrementAndGet()