동기(Synchronous)란?
동기는 같을 동과 기약할 기를 사용하고 같은 시기, 같은 기간이라는 의미이다. 보통 입사 동기, 군대 동기 등을 이야기 할 때 쓰이는 단어이다.
영어로 'Synchro-' 는 형용사이고 '동시 작동의'라는 의미이다.
'Synchronous' 는 형용사이고 '동시 발생[존재]하는'이라는 의미이고,
즉 동기란 동시에 발생하는 이라는 형용사적 뉘앙스를 가지고 있다.
그러면 컴퓨터 공학에서의 동기란 무엇일까?
'동시에 발생하는'이라는 의미를 중점으로 해석하면 어떠한 작업을 요청하고 응답을 받는 동시에 다음 요청(작업)을 수행하는 것을 동기라고 말 할 수 있다.
비동기(Asynchronous)란?
동기방식이 아니라는 의미로 '동시에 발생하지 않는'이라는 의미라고 할 수 있다.
컴퓨터 공학에서 비동기란 어떠한 작업 요청에 대한 응답이 없이도 다음 요청(작업)을 수행하는 것을 동기라고 말 할 수 있다.
=========================================================================
block과 non-block function은 프로그램의 상태를 말해주는 의미이고
동기와 비동기는 읽기와 쓰기의 상태에 따라 구별되는 개념이다.
동기란 읽기와 쓰기가 동시에 발생해야하는 것이므로 읽는 대상이 쓰는 대상을 기다려야 한다. 따라서 읽는 대상은 쓰는 대상이 쓸 때 까지 기다려야하는 경우가 발생하기도 한다.
반면에 비동기는 쓰는 대상이 읽는 대상에게 쓴다는 신호를 보내면 읽는 대상은 그 때 읽는 행동을 하는 것이다.
'Web Server' 카테고리의 다른 글
Netty를 이용한 http 서버랑 websocket을 구현 (0) | 2020.04.12 |
---|---|
웹 소켓 (Web Socket) 이란? (0) | 2020.04.06 |
Event-Driven (0) | 2020.03.11 |
오버헤드 (Overhead) (0) | 2020.03.11 |