블로킹
- blocking -> 어떠한 A 함수 가 B 함수를 호출하면 제어권(함수를 실행할 권리)을 A가 B에게 넘겨주는 작업 방식이다.
- 제어권을 가진 B는 함수를 실행하고, A는 제어권을 B에게 넘겨줬기 때문에 함수 실행을 멈춘다.
- 그리고 B의 함수가 종료되면, A에게 다시 제어권을 돌려준다.
논블로킹
- Non-blocking -> 어떠한 A 함수가 B 함수를 호출해도 제어권을 그대로 자신이 가지고 있는 작업 방식이다.
- A 함수가 B 함수를 호출해도, 제어권은 A에게 있기 때문에, A의 함수를 멈추지 않고 B의 함수를 실행한다.
데이터를 처리하는 방식
동기
- synchronous programming -> 요청과 결과가 동시에 일어나는 프로그래밍(A, B 노드 사이의 작업 처리 단위를 동시에 맞춤)
- 결과를 반환하기 전까지 어떠한 작업을 행할 수 없으며 대기해야 하므로 효율성이 떨어지지만, 설계가 비교적 간단하다.
비동기
- Asynchronous programming -> 요청과 결과가 동시에 일어나지 않는 프로그래밍(A, B 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 무관)
- 결과를 반환하기 전까지 어떠한 노드에서 작업을 행할 수 있으므로 효율성이 높지만, 설계가 복잡하다.
<참고 자료>
블로킹 Vs. 논블로킹, 동기 Vs. 비동기
와 드디어 이해했다 속이 후련~
velog.io
https://velog.io/@daybreak/%EB%8F%99%EA%B8%B0-%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%B2%98%EB%A6%AC
동기, 비동기 처리
데이터를 처리하는 방식인 동기, 비동기 처리에 대해 많은 글이 있지만 정확하게 와닿지가 않았다. 최대한 내가 이해한 방식대로 서술해 보려고 한다. 동기 (Synchronous)는 요청과 동시에 일어난다
velog.io
'CS' 카테고리의 다른 글
[컴퓨터 구조] 컴퓨터의 혁명과 컴퓨터 종류 (0) | 2023.03.27 |
---|---|
[컴퓨터 구조] 컴퓨터 구조를 알아야 하는 이유 (1) | 2023.03.27 |
CS 스터디 4주차 Network & Spring (0) | 2022.10.27 |
CS스터디 3주차 Network & Java (1) | 2022.10.26 |
CS스터디 2주차 Computer Architecture & Java (1) | 2022.09.28 |