본문 바로가기

go언어 블록체인

노마드 코인 12-16 리뷰

자 이 강의에선 Data races가 무엇 인지 그리고 어떻게 Data races가 발생했는지를 확인할 겁니다

 

data race는 뭐고 왜 고쳐야할까요?

더보기

 

 

일단 Data Race가 무었이냐하면

니꼬는 이렇게 설명해줍니다

data race는 둘 이상의 go routine이 어플리케이션의 동일한 데이터베이스에 엑세스할 때 그 엑세스들 중 하나가 데이터를 수정하면서 발생해

 

예를 들어 더 자세히 설명해줍니다

온라인 에서 티켓을 사려고합니다

남은 티켓은 오직 한장인 상황에서

두명이 동시에 티켓을 사려고 했고 동시에 요청이 들어가 시스템에서 두명에게 티켓구입 OK 사인을 보냅니다

이런 경우의 오류를 data race라고 하는데

데이터는 slice든 array든 무엇이 되는 상관없이 두 엑세스 중 하나가 데이터를 수정하고 하나가 그 수정된 데이터를 읽게되고 이것이 data race가 될 수 있다고 합니다

 

복잡한 친구인 건 확실한 것 같습니다 ㅠ

 

쨋든 왜 전 영상에서 data race가 발생했는지 이제 확인해봅니다

 

위 두 함수는 Peers map을 수정하는데

 

우리가 localhost:4000/peers 처럼 peers 페이지를 요청하면

해당 함수의 GET case가 실행되면서 Peers map을 사용하게 됨으로 

data race가 발생하게 되는 것이죠

 

그럼 data race가 왜 발생하는지 알아봤으니 다음 강의에서 해결해봅시다!

 

끝!

'go언어 블록체인' 카테고리의 다른 글

노마드 코인 12-19 리뷰  (0) 2021.08.17
노마드 코인 12-17 리뷰  (0) 2021.08.17
노마드 코인 12-15 리뷰  (0) 2021.08.17
노마드 코인 12-14 리뷰  (0) 2021.08.17
노마드 코인 12-13 리뷰  (0) 2021.08.13