본문 바로가기
[Kotlin] Coroutine 소개 (그렇지만 조금 깊을 수도 있음..) [Kotlin] Coroutine 소개 https://www.slideshare.net/elizarov/introduction-to-kotlin-coroutines -Coroutine 개념은 아주 오래된 녀석이다.Simula 67 이란 언어에서 처음으로 소개된 개념이다. detach : suspension statement resume : resume coroutine execution -Coroutine 은 multithreading 이 나오면서 잠시 out 되어있었다.그러나 최근에 async code 가 많이 사용되면서 다시 주목받기 시작했다. -Thread 는 resource 측면에서 high-load 이며,single thread 만 지원하는 언어들도 있으며,mutable state 가 많고, U.. 2018. 11. 27.
[Java] nio vs. io ( 성능, 개념 ) [Java] nio vs. io ( 성능, 개념 ) http://eincs.com/2009/08/java-nio-bytebuffer-channel-file/ -기존 자바 io 는 커널 버퍼를 직접 핸들링 할 수 없어 JVM 이 내부 메모리에 불러온 후 데이터에 접근할 수 있었다.JVM 내부 메모리 복사과정에 오버헤드가 생긴다. 여기서 말하는 오버헤드는 CPU 오버헤드, 메모리 오버헤드(GC 대상), Thread blocking 등이 있겠다. -nio 는 direct buffer 로 커널 버퍼를 직접 핸들링하기 떄문에 빠르다.기존 io 의 단점을 보완한다. direct buffer 를 이용하려면 ByteBuffer.allocateDirect( size ) 를 통해서 buffer 를 생성해야 한다. -nio.. 2017. 6. 13.
[Java] nio vs io ( package level 에서의 개념, not 성능 ) [Java] nio vs io ( package level 에서의 개념, not 성능 ) http://tutorials.jenkov.com/java-nio/nio-vs-io.html -IO stream oriented blocking IO NIO buffer oriented non-blocking IO selectors -Stream oriented 한개 또는 그 이상의 byte 를 stream 에서 읽어온다. stream 에서 앞뒤로 왔다갔다 할 수 없다. ( buffer 를 사용해 cache 해야 가능하다. ) -Buffer oriented 우선 buffer 에 읽어오고 그 다음에 process 를 한다. buffer 를 통해 앞뒤로 왔다갔다 할 수 있다. -Blocking IO 는 read(), w.. 2017. 6. 11.
반응형