Files
kui-vault/content/03.Note/동기(Synchronous).md
T
2026-05-04 10:30:04 +09:00

38 lines
1.6 KiB
Markdown

---
id: "동기(Synchronous) 20260504"
created: "2026-05-04 09:32"
tags:
aliases:
---
## 💡 생각
영어단어인 싱크의 뜻을 생각하자. 상호간의 싱크를 맞춘다 는 의미로 받아들이면 된다.
그게 통신에서의 수신자,송신자 사이던, 프로그래밍에서의 호출자,함수 사이에서든..
---
## 📑 개념
**송신자와 수신자, 혹은 호출자와 실행자가 같은 시간축 위에서 발을 맞춘다**는 뜻
( 상호간에 싱크를 맞춘다 )
---
## 1. 통신에서의 동기: "우리 같은 박자에 맞추자"
말씀하신 대로 **내가 보낼 때 네가 정확히 들어야 한다**는 의미입니다.
- 이를 위해 두 장치는 똑딱거리는 **클럭(Clock)** 신호를 공유합니다.
- 클럭이 '탁' 올라갈 때 송신자는 데이터를 던지고, 수신자는 그 짧은 순간에 데이터를 낚아챕니다.
- **비유:** 오케스트라 지휘자(클럭)의 손짓에 맞춰 연주자들이 동시에 소리를 내는 것과 같습니다.
---
## 2. 프로그래밍에서의 동기: "너 끝날 때까지 나 아무것도 안 해"
말씀하신 **다른 거 하지 말고 기다려라**라는 해석이 완벽합니다. 전문 용어로는 이를 블로킹(Blocking)이라고도 부릅니다.
- 함수가 호출되면 제어권이 그 함수로 넘어가고, 그 함수가 값을 반환(Return)할 때까지 호출한 쪽의 실행 흐름이 멈춰 있습니다.
- **비유:** 편의점 계산대에서 앞 사람이 계산을 마칠 때까지 뒷사람이 줄을 서서 가만히 대기하는 상황입니다.