Go에는 Go routine이라는 것이 있더랬다. Golang 특유의 방식인데, Go가 동시성 프로그래밍이라는 것을 하게 되는 이유라 할 수 있다. 여기서 병렬성 프로그래밍과 동시성 프로그래밍에 대한 것을 이해하고 넘어가야하겠다. 동시성이란, 여러개의 일을 동시에 처리되는 것 처럼 보이게 Context Switching을 해 가면서 일을 처리하는 것을 의미한다. 카페에서 여러개의 주문이 들어왔다고 했을 때, 커피 샷을 내리는 동안 빵을 30초 동안 데우는 것과 같이 일을 처리하는 것이다. 일을 처리하는 사람은 단 한명(코어 하나)이지만 샷이 내려지는 시간 혹은 빵이 돌아가는 그 시간 동안 다른 일을 할 수 있어 순차적인 접근 보다는 훨씬 빠르게 일을 처리할 수 있다. 병렬성이란, 여러개의 일을 여러개의 ..