defer
-
go - goroutine개발 2022. 2. 3. 21:44
고루틴 은 go 언어 내부에서 비동기 작업을 효율적으로 처리 할 수 있는 쓰레드 라이브러리다. Go 내부에서 스케줄러에 의해 자체적으로 관리되며 OS 에서 관리하는 경량 쓰레드보다 더 경량이라고 하니 go 언어를 만들면서 쓰레드 작업을 최적화 하는데 많은 심혈을 기울였다고 볼 수 있다. Kotlin의 Coroutine과 비슷하면서도 쓰레드 설정이나 suspend 함수 같은게 없어 간소화된 형태다. Java 에서 쓰레드 문제로 몸살을 겪었다면 go 언어에서는 goroutine을 이용해 간단하게 해결할 수 있다. 사용법 함수 앞에 간단하게 go 만 붙여주면 goroutine 을 사용해서 실행하게 된다. func bark() { fmt.Println("bark") } func main() { go bark()..
-
RxJava: defer, fromCallable개발/안드로이드 2020. 2. 15. 16:16
1. defer Observable 클래스내에 포함된 defer() 함수는 관찰하고 있는 대상의 값을 구독한 이후 시점부터 볼 때 사용한다. 즉 subscribe 함수가 불린 시점부터 대상의 값을 관찰한다. 좀 더 이해를 쉽게 하고자 Person이라는 클래스를 만들어봤다. class Person { var name: String = "None" fun observableName(): Observable = Observable.just(name) fun observableDeferName(): Observable = Observable.defer { Observable.just(name) } } Person 클래스에는 수정이 가능한 name 변수와 name을 Observable로 변환해주는 observab..