논 블로킹

    (동기 <-> 비동기) vs (블로킹 <-> 논 블로킹)

    오늘 개인 프로젝트로 채팅 서버를 개발하기 위해 다양한 채팅 서버 구축 사례를 보던 중 Netty 프레임워크(Java 기반 네트워크 어플리케이션)를 사용한 사례를 자주 볼 수 있었습니다. 그래서 Netty 프래임워크의 장단점을 조사하던 도중 핵심 원리 중 하나인 비동기, 논 블로킹 개념에 대해 정확하게 알지 못한다는 것을 깨닫고 해당 개념들에 대해 자세히 알아보고자 이 글을 쓰게되었습니다. 1. 동기(Synchronos) 와 비동기(Asynchronous) 프로세스의 수행 순서 보장에 대한 매커니즘 1.1 동기(Synchronos) 요청과 그 결과가 동시에 일어난다. 현재 처리되고 있는 작업의 요청을 모두 완료해야지만 다음 작업을 처리할 수 있다. 작업의 순서를 명확하게 파악하기 쉽다.(직관적) 1.2 ..