비동기처리

Kotlin & Java

간단하게 코루틴 알아보기

코루틴보통 코루틴을 경량화 스레드라고 자주 표현한다그럼 기존의 스레드는 무엇을 의미할까?기존의 스레드는 보통 OS 혹은 JVM 에서 생성되는 스레드를 의미하고, 이 스레드들은 매우 빠르고, 반응이 좋지만 비용이 크다.각 스레드는 생성, 해제(GC 수집시), 컨텍스트 스위치(스레드 실행 혹은 종료시에 스레드의 상태를 저장하고 복구하는 프로세스가 있다) 시에 CPU 타임과 메모리를 소모하는데, 이 비용이 상대적으로 높기 때문에 JVM 에서 돌아가는 프로그램들은 아주 많은 수의 스레드를 가지기 어렵다. 반면에 코루틴은 값을 반환할 수 있고 일시 중지(pause) 및 복귀(resume)할 수 있는 경량화된 스레드(정확하게 스레드는 아니고 함수이며, 비동기를 풀어나가는 코딩스타일중 하나고 그것에 초점을 맞춰 나온..

Android/미분류

RxJava를 이용한 Reactive Programming

What is RxJava?생명주기와 동시성 프로그래밍기존의 AsyncTask는 많은 성능저하를 가지고 온다. 또한 생명주기에 따라 인스턴스를 해제해주지 않으면 memory leak에 대한 주의가 필요합니다. 이러한 문제점을 해결하고자한 프로그래밍 패러다임이 Reactive 프로그래밍입니다. 예로 Reactive 프로그래밍을 간단하게 말하면 각 항목을 관찰(Observe)하다가 항목에 변화가 있으면 등록된 Observer에 따라 갱신해주는 구성입니다.Reactive 프로그래밍의 대표적인 예는 엑셀차트입니다.Observable -> 관측 가능한 값의 흐름을 나타내는 객체 (생산자) 버튼 클릭 subscribe 함수를 통해 구독이 가능하며 , 구독자에게 값의 흐름을 알려준다.Observer - > 값의 흐름..

Nanamare
'비동기처리' 태그의 글 목록