티스토리 뷰
개요
동시성 (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
- github
- 노션
- Shortcut
- 클린 애자일
- postgres
- websocket
- 영화
- Gin
- solid
- JIRA
- agile
- folklore
- pool
- Bug
- 독서
- ChatGPT
- OpenAI
- 2023
- go
- notion
- 체호프
- 제이펍
- API
- strange
- intellij
- 잡학툰
- 독서후기
- golang
- bun
- 인텔리제이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함