DCL(Double Checked Locking)
예)
class SingletonManager private constructor(context: Context) { companion object { @Volatile private var instance: SingletonManager? = null fun getInstance(context: Context) = instance ?: synchronized(SingletonManager::class.java) { instance ?: SingletonManager(context).also { instance = it } } } } |
Enum을 통한 사용, LazyHolder 패턴을 통한 사용등...
'Android' 카테고리의 다른 글
Coroutine Builder (0) | 2023.01.04 |
---|---|
Coroutine Context (0) | 2023.01.04 |
코루틴과 스레드 (0) | 2023.01.04 |
안드로이드 프로젝트 API 키 숨기기 (0) | 2023.01.04 |
Android 최근 출시 노트 링크 (0) | 2023.01.03 |