본문 바로가기
728x90
반응형

Java Web Programming/자바응용2

[#02. 비동기 프로그래밍] 리액티브 프로그래밍 (with Spring WebFlux) [[_TOC_]]Reactive Programming (with Spring WebFlux)컨셉📝주요 키워드반응성회복성탄력성메시지 주도이벤트 루프 기반 프로그래밍웹에서 사용자의 클릭, 입력과 같은 이벤트가 발생할 때 마다, 해당 이벤트는 데이터 스트림으로 처리새로운 데이터 스트림이 도착할 때 마다 반응(reacting)으로 프로그램이 동작즉, 새로운 데이터가 스트림에 도착할 때 마다 자동으로 이를 감지하고 필요한 작업을 실행(데이터 처리, 조회, UI 업데이트 등..)데이터 폴링이벤트 루프 기반데이터 감지주기적 확인- 시스템이 정기적으로 데이터의 변경 여부를 확인새로운 이벤트 발생 시 자동 반응- 시간에 따라 발생하는 이벤트를 데이터 스트림에 할당blockingblocking- 폴링 작업이 수행되는 동.. 2024. 4. 25.
[#01. 비동기 프로그래밍] 동기 API / 비동기 API 차이(with blocking/non-blocking) 비동기 프로그래밍💡 비동기 프로그래밍?작업 실행의 완료를 기다리지 않고, 다른 작업을 동시에 진행할 수 있는게 하는 프로그래밍 방식멀티스레딩과 유사하지만, 비동기 프로그래밍은 단일 스레드에서 이벤트 처리 및 콜백을 통해 구현되기도 하기 때문에 명시적 스레드 관리 없이도 동시성을 달성할 수 있다.동기 API 와 비동기 API의 차이동기 vs 비동기작업 완료 처리의 주체동기: 호출자가 작업 완료 처리 (호출자가 직접 처리 결과를 반환하여 획득)비동기: 메서드를 수행하는 피호출자가 작업 완료 처리 (처리 결과를 호출자에게 전달)Blocking vs Non-Blocking함수의 처리값이 언제 반환되는지blocking: 작업 완료 후 반환non-blocking: 즉시 반환💡 반환된 것은 최종 결과가 아닌 프로.. 2024. 4. 25.
728x90
반응형