| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- 옵저버 패턴
- 빌터패턴
- Observer Pattern
- builderPattern
- PrototypePattern
- 안드로이드 디자인시스템
- ㅋㅁ
- 코틀린멀티플랫폼
- 프로토타입 패턴
- kotlin multiplatform
- android designsystem
- factory method
- material3
- compose
- Functional Programming
- Coroutines
- Abstract Factory
- kmp
- 코루틴
- 함수형프로그래밍
- 코틀린
- 추상팩토리패턴
- Design Pattern
- designPattern
- 추상 팩토리
- 디자인패턴 #
- Kotlin
- 디자인패턴
- define
- 팩토리 메소드
- Today
- Total
목록Coroutine (39)
오늘도 더 나은 코드를 작성하였습니까?
CoroutineScope 팩토리 함수CoroutineScope는 coroutineContext를 유일한 프로퍼티로 가지고 있는 인터페이스. public interface CoroutineScope { public val coroutineContext: CoroutineContext} CoroutineScope 인터페이스를 직접 구현한 클래스를 사용하지 않는다 대부분...-> cancel, ensureActice 같은 다른 CoroutineScope의 메소드를 직접 호출하면 문제가 생길수있다. CoroutineScope 팩토리 함수를 이용한다.컨텍스트를 넘겨 받아 스코프를 만든다.public fun CoroutineScope(context: CoroutineContext): CoroutineScop..
프로젝트 룸의 가상 스레드 사용하기jvm플랫폼은 프로젝트 룸이라는 새로운 기술을 발표함 -> 일반적인 스레드보다 훨씬 가벼운 가상 스레드를 도입. 코틀린 코루틴은 취소를 쉽게하고, 테스트에서 가상시간을 사용하는 등 훨씬 놀라운 기능을 갖추고 있다.프로젝트 룸이 정말로 유용한 경우는 스레드를 블로킹할 수밖에 없는 Dispatcher.IO 대신 가상 스레드를 사용할때! jvm19 이상이며, --enable -preview 플래그를 사용해 정식 출시전 기능을 허용해야됨. val LoomDispatcher = Executors .newVirtualThreadPerTaskExecutor() .asCoroutineDispatcher()object LoomDispatcher: Execut..
디스패처를 이용해 코루틴이 실행되어야 할 스레드 또는 스레드풀 결정할수 있다.어떤 스레드에서 실행될지 정하는것은 코루틴 컨텍스트이다.기본 디스패처 Dispatcher.Default- 설정하지 않으면, 기본적으로 설정됨.- CPU집약적인 연산을 하도록 설계- 코드가 실행되는 컴퓨터의 CPU 개수와 동일한 수의 스레드풀을 가진다.suspend fun main(): Unit = coroutineScope { repeat(1000) { launch { List(1000) { Random.nextLong() }.maxOrNull() val threadName = Thread.currentThread().name println("Run o..
코루틴 스코프 함수스코프를 만드는 다양한 함수가 있습니다.coroutineScope supervisorScope - Job대신 SupervisorJob사용 withContext - 컨텍스트를 변경withTimeoutScope - 실행시간 존재 이러한 스코프 함수들은 스코프를 만들기 위해 사용된다. 코루틴 빌더 vs 코루틴 스코프 함수코루틴 빌더코루틴 스코프 함수launch, async, producecoroutineScope, supervisorScope, withContext,withTimeoutScopeCoroutineScope의 확장 함수중단함수CoroutineScope의 리시버 코루틴 컨텍스트 사용중단함수의 컨티뉴에이션 객체의 코루틴 컨텍스트사용예외는 Job을 통해 부모로 전파됨일반함수와 같은 방..