전체 글(126)
-
withContext
코틀린(Kotlin)에서 withContext는 코루틴의 컨텍스트를 일시적으로 변경하여 특정 블록을 실행하는 데 사용되는 함수입니다. 이는 주로 다른 디스패처(Dispatcher)에서 코드를 실행하고 싶을 때 사용됩니다. withContext는 suspend 함수이기 때문에 코루틴 내에서만 호출될 수 있으며, 코루틴의 일시 중단과 재개를 처리합니다.withContext의 기본 사용법withContext를 사용하면 코드 블록을 지정된 디스패처에서 실행할 수 있습니다. 예를 들어, IO 작업을 Dispatchers.IO에서 실행하고, CPU 집약적인 작업을 Dispatchers.Default에서 실행할 수 있습니다.다음은 withContext의 기본 예제입니다:import kotlinx.coroutines...
2024.11.27 -
runBlocking
코틀린(Kotlin)에서 runBlocking은 코루틴을 시작하고, 해당 코루틴이 완료될 때까지 현재 스레드를 차단하는 함수입니다. 이는 주로 메인 함수나 테스트 코드에서 사용되며, 코루틴의 실행을 동기적으로 기다려야 할 때 유용합니다. runBlocking은 코루틴 빌더 중 하나로, 블로킹 방식으로 코루틴을 실행합니다.runBlocking의 기본 사용법runBlocking을 사용하여 코루틴을 시작하고, 해당 코루틴이 완료될 때까지 현재 스레드를 차단할 수 있습니다. 다음은 runBlocking의 기본 예제입니다:import kotlinx.coroutines.*fun main() = runBlocking { launch { delay(1000L) println("Hello ..
2024.11.27 -
Yield
코틀린(Kotlin)에서 yield는 코루틴의 실행을 일시 중단하고, 다른 코루틴이나 작업이 실행될 기회를 주는 함수입니다. yield는 협력적 멀티태스킹을 구현하는 데 사용됩니다. 이는 코루틴이 자신의 실행을 중단하고 다른 코루틴이 실행될 수 있도록 함으로써, 공정한 스케줄링을 가능하게 합니다.yield의 기본 사용법yield는 suspend 함수로, 코루틴 내에서만 호출될 수 있습니다. 다음은 yield를 사용하는 간단한 예제입니다:import kotlinx.coroutines.*fun main() = runBlocking { launch { repeat(5) { println("Coroutine A - $it") yield() // Yiel..
2024.11.27 -
Launch
코틀린(Kotlin)에서 launch는 코루틴을 시작하는 가장 기본적인 방법 중 하나입니다. launch는 Job 객체를 반환하며, 비동기적으로 작업을 수행하지만 결과를 반환하지 않습니다. 이는 주로 실행할 작업이 결과를 반환할 필요가 없고, 단순히 비동기적으로 수행되어야 할 때 사용됩니다.launch의 기본 사용법launch는 CoroutineScope 내에서 호출되어야 합니다. 가장 일반적인 방법은 runBlocking을 사용하여 최상위 코루틴을 시작하는 것입니다:import kotlinx.coroutines.*fun main() = runBlocking { launch { // 코루틴 블록 내에서 실행될 코드 delay(1000L) println("Hell..
2024.11.27 -
Async
코틀린(Kotlin)에서 async는 비동기적으로 작업을 수행하고 결과를 반환하는 코루틴 빌더입니다. async는 launch와 비슷하지만, launch는 결과를 반환하지 않는 반면, async는 Deferred 객체를 반환하여 나중에 결과를 얻을 수 있습니다. Deferred는 Job의 하위 클래스이며, 비동기 작업의 결과를 나타냅니다.async의 기본 사용법async는 비동기적으로 작업을 수행하고, 결과를 기다리기 위해 await 함수를 사용합니다. 다음은 기본적인 사용 예제입니다:import kotlinx.coroutines.*fun main() = runBlocking { val deferred: Deferred = async { // Some long-running comput..
2024.11.27 -
Dispatchers
코틀린(Kotlin)에서 코루틴(Coroutines)은 여러 가지 컨텍스트에서 실행될 수 있으며, 이를 관리하기 위해 Dispatchers가 사용됩니다. Dispatchers는 코루틴이 어떤 스레드 또는 스레드 풀에서 실행될지를 결정합니다. 코틀린 표준 라이브러리와 kotlinx.coroutines 라이브러리는 여러 가지 디스패처를 제공합니다.주요 Dispatchers 종류Dispatchers.DefaultDispatchers.IODispatchers.MainDispatchers.Unconfined각 디스패처는 특정한 용도와 최적화된 환경에서 사용됩니다.Dispatchers.DefaultDispatchers.Default는 CPU 집약적인 작업을 위한 디스패처입니다. 기본적으로 코어 수에 비례하는 스레드..
2024.11.27