synchronous 썸네일형 리스트형 asynchronous(비동기) programming, asynchronous I/O, asynchronous communication 동기와 비동기 개념과 차이 — Koras02코딩웹 (tistory.com) 동기와 비동기 개념과 차이 데이터를 받는 방식인 동기와 비동기. 이 둘의 개념에 대해 알아보고 둘의 차이점을 알아보도록 하겠습니다. 1. 동기(synchronous: 동시에 일어나는) - 동기는 말 그대로 동시에 일어난다는 뜻입니다 koras02.tistory.com 위 사이트도 참조하여 동기, 비동기의 정의를 요약해보았다. 동기의 정의 1. 결과가 반드시 [동시]에 일어나야 한다. 2. 요청(or 호출)을 하면, 실행이 끝날 떄까지 기다려야 한다. 비동기의 정의 1. 결과가 반드시 [동시]에 일어나지x 2. 요청(or 호출)을 하면, 그 실행이 끝나지 않더라도 다른 작업을 수행할 수가 있다. (물론, non-blocking IO.. 더보기 block I/O vs non-block I/O with Socket I/O ( I/O Multiplexing도 설명함) I/O: Input Output의 약자로서 , 데이터의 입출력을 의미. I/0 종류 1. network(socket) I/O -> 네트워크 통신은 Socket을 통해서 데이터가 입출력 된다. 2. file I/O 3. pipe I/O( 프로세스 간의 통신 시 사용되는 개념) 4. device I/O Socket I/0를 가지고 OS Level에서 block I/O와 non block I/O의 동작을 설명하겠다. Block I/O : I/O 작업을 요청한 프로세스/스레드는 요청이 완료될 때까지 BLOCK됨. ( 잘 사용되지 않고, non block이 일반적으로 사용됨) ( 대부분의 프로그래밍 언어는 non blocking I/O를 적극 사용) 일단 각 Socket에는 데이터를 받는 recv_buffer와 .. 더보기 이전 1 다음