DevTales
close
프로필 배경
프로필 로고

DevTales

  • 분류 전체보기 (39) N
    • Java (4)
      • Spring Boot (0)
      • Java의 정석 (0)
    • Kotlin (0)
    • C (9) N
    • Go (9)
    • Python (4)
    • Database (3)
    • Cloud (5)
    • 기타 (4)
  • 홈
  • 방명록
[Java] I/O 작업도 비동기로 가능한가요?

[Java] I/O 작업도 비동기로 가능한가요?

Proactor Pattern 지난 포스팅에서 Selector와 Reactor 패턴에 대해 다뤘습니다.또한, Reactor 패턴을 활용하여 I/O Multiplexing이 가능한 EventLoop를 구현해 보았습니다. 하지만 Reactor 패턴에는 몇 가지 한계점이 존재합니다. 이번 글에서는 이러한 한계점과 그것을 극복한 Proactor 패턴에 대해 살펴보겠습니다. Reactor  vs  Proactor Reactor 패턴은 단일 쓰레드로 동기적으로 이벤트가 발생할 때마다 Selector가 이를 처리해야 합니다. 이로 인해, 트래픽이 과도하거나 이벤트 처리에 시간이 오래 걸리는 경우, 전체 시스템에 영향을 줄 수 있는 문제가 발생할 수 있습니다. 반면에, Proactor 패턴은 비동기적으로 I/O 작업을..

  • format_list_bulleted Java
  • · 2025. 2. 12.
  • textsms
[Java] 동기와 블로킹, 뭐가 다른가요?

[Java] 동기와 블로킹, 뭐가 다른가요?

동기와 블로킹은 다른건가요? 동기(Synchronous)와 블로킹(Blocking)은 개발을 하다 보면 흔히 접할 수 있는 개념들입니다.하지만 예전에는 이런 개념들을 막연히 알고 있었고, 그 차이점도 명확하게 이해하지 못했습니다.특히, '동기'와 '블로킹'이라는 개념을 혼동하며, 아래와 같이 생각했던 적도 있었습니다.동기(Synchronous)면 블로킹(Blocking) 아닌가?  동기/비동기, 블로킹/논블로킹은 애플리케이션의 성능과 효율성에 직결되기 때문에, 올바르게 이해하고 활용하기 위해서2가지 관점에서 자세히 살펴보겠습니다.  동기, 비동기란? 우선 동기,비동기, 블로킹, 논블로킹을 설명할 때 사용되는 단어들의 의미와동기, 비동기란 무엇인지 간단하게 확인하고 넘어가겠습니다. Caller : 작업을 ..

  • format_list_bulleted Java
  • · 2025. 2. 10.
  • textsms
  • navigate_before
  • 1
  • navigate_next
전체 카테고리
  • 분류 전체보기 (39) N
    • Java (4)
      • Spring Boot (0)
      • Java의 정석 (0)
    • Kotlin (0)
    • C (9) N
    • Go (9)
    • Python (4)
    • Database (3)
    • Cloud (5)
    • 기타 (4)
최근 글
인기 글
최근 댓글
태그
  • #비동기
  • #tucker의 go언어 프로그래밍
  • #점프 투 파이썬
  • #논블로킹
  • #PostgreSQL
  • #java
  • #혼자 공부하는 C언어
  • #system call
  • #Callback
  • #Java의 정석
전체 방문자
오늘
어제
전체
Copyright © Kakao Corp. All rights reserved.
Designed by 티스토리

티스토리툴바