스프링으로 시작하는 리액티브 프로그래밍 스터디
-
3장 Blocking I/O 와 Non-Blocking I/OSpring/Webflux 2023. 4. 21. 21:41
3.1 Blocking I/O 클라이언트 PC 본사 API : 지점 API 응답 기다리는 동안 blocking i/o 발생 지점 API 보완을 위해 멀티스레딩 기법 사용시 Context Switching 으로 인한 스레드 전환 비용 발생 PCB : Process Control Block 대기 중인 작업 저장소 Context Swithcing 01. 현재 실행되고 있는 프로세스 정보는 Cpu 의 레지스터에 저장되는데, 프로세스들이 번갈아가며 실행되는 과정에서 PCB 에 저장된 프로세스 정보가 레지스터에 지속적으로 저장되어, 그 값이 변경되는 것을 컨텍스트 스위칭 02. P1 끝나고 P2 가 바로 실행되는 것이 아니라 약간의 대기시간 존재 ; PCB에 정보 저장하거나 불러오는 시간 - 이 작업이 많을 수록 ..
-
2장 리액티브 스트림즈Spring/Webflux 2023. 4. 19. 09:01
스프링으로 시작하는 리액티브 프로그래밍 p39 2.1 리액티브 스트림즈란 데이터 스트림을 non-blocking 이면서 비동기적인 방식으로 처리하기 위한 리액티브 라이브러리의 표준 사양 p40 2.2 리액티브 스트림즈 구성요소 publisher : 데이터 생성 통지(발생,게시,방출) 역할 subscriber : 데이터를 받아서 처리하는 역할 subscription : publisher 에 요청할 데이터의 개수를 지정하고 구독을 취소하는 역할을 한다 processor : publisher 와 subscriber 의 기능을 모두 가지고 있다. 즉, subscriber 로서 다른 publisher 를 구독할 수 있고, publishe 로서 다른 subscriber 가 구독할 수 있다. p40 publisher..