티스토리 뷰
개요
동시성 (Concurrency) 과 병렬성 (Parallelism) 의 차이를 비유로 이해해보자.
Golang 을 만든 롭 파이크가 이 주제로 발표를 할 정도라면 구분에 의미가 있을 것이다.
관련 링크
- 블로그: https://blog.golang.org/concurrency-is-not-parallelism
- 동영상: https://youtu.be/cN_DpYBzKso
- 슬라이드: https://talks.golang.org/2012/waza.slide#1
동시성과 병렬성
병렬성은 말 그대로 같은 시간대에 둘 이상의 일이 함께 이뤄지는 것이다.
동시성의 진정한 의미는 여러 작업을 잘 조율하여 결과를 만들어내는 것이다.
자동차를 조립하는 것에 비유해보자
백명의 일꾼이 각각 자신 앞의 차량 프레임에, 카시트를 같은 시간대에 조립한다고 해보자.
이것이 병렬성이다. (Parallelism)
그렇다면 동시성 (Concurrency) 은 무얼까?
1) 바퀴의 조립은 공정의 가장 마지막에 하자 2) 전체 공정 중에서 가장 시간이 많이 걸리는 카시트 조립에는 일꾼을 백명을 더 투입하자. - 하반기에는 독일에서 수입해오는 자동화 기기를 이용해서 조립하자 3) 공정과 공정 사이에는 LED 와 Beep 음을 통해 이전 공정에서 작업이 완료되었음을 알리자 |
이와 같이 다양한 공정을 어떤 순서와 조합으로 할 지를 조율하는 것이다. 조율이라는 표현이 마음에 든다.
반응형
'golang' 카테고리의 다른 글
Golang 의 동시성을 이용한 소수 찾기 (0) | 2019.07.22 |
---|---|
Don't communicate by sharing memory, share memory by communicating (0) | 2019.07.19 |
Slack Slash Command - 영한 번역(3) (0) | 2019.07.16 |
Slack Slash Command - 영한 번역(2) (0) | 2019.07.15 |
Slack Slash Command - 영한 번역(1) (0) | 2019.07.12 |
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 독서후기
- clean agile
- intellij
- github
- bun
- API
- Bug
- agile
- OpenAI
- 2023
- golang
- 독서
- 잡학툰
- websocket
- notion
- 클린 애자일
- 영화
- go
- folklore
- 오블완
- 인텔리제이
- solid
- 티스토리챌린지
- Gin
- 엉클 밥
- strange
- 2024년
- 체호프
- ChatGPT
- 노션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함