본문 바로가기

비동기

21장 Asynchronous Notification IO 모델 동기와 비동기에 대한 이해 위 : 동기 아래 : 비동기 *동기화된 입출력의 단점과 비동기의 해결책 동기화된 입출력의 단점 입출력이 진행되는 동안 호출된 함수가 반환을 하지 않으니, 다른 일을 할 수가 없다 비동기의 해결책 데이터의 송수신 완료에 상관없이, 호출된 함수가 반환을 하기 때문에 다른 일을 진행 할 수 있음 *Notification(알림) IO(입출력) 입력버퍼에 데이터가 수신되어서 데이터의 수신이 필요하거나, 출력버퍼가 비어서 데이터의 전송이 가능한 상황의 알림 *동기화된 Notification IO모델 가장 대표적인 동기화된 Notification IO모델은 select방식 IO가 필요한 또는 가능한 상황이 되는 시점이(간단히 말해서 IO관련 이벤트의 발생 시점이) select함수가 반환하는.. 더보기
동기, 비동기, 블로킹, 논블로킹 [출처] 동기, 비동기, 블러킹, 논 블러킹 (C언어를 배우자) |작성자 bilope 1. 동기(同期, synchronous) 동기의 사전적 의미는 "동시에 발생하는 것" 입니다. 클라이언트가 서버에 "저 지금 접속했습니다." 라고 요청했다면, 서버가 "아 그래? 너 접속했구나? 너 접속했다고 해줄께." 라고 대답할 때까지 클라이언트가 무릎 꿇고 가만히 기다려야합니다. "이게 동시에 발생하는 것과 무슨 상관이 있지?" 라고 생각하시는 분들을 위해, 간단한 예를 들어 설명해드리겠습니다. 제가 고또님께 꼭 드릴 말씀이 있어 전화를 걸었습니다. 그런데 고또님이 전화를 받지 않으십니다. 저는 고또님이 전화를 받으실 때까지 계속 전화기를 붙잡고 기다립니다. 이 과정에서 저는 전화기를 붙잡고 기다리느라 아무런 행동.. 더보기