Go 동시성 프로그래밍, 캐서린 콕스 부데이 저, 이상식 역, 에이콘, 2019 동시성 문제란 : 여러 스레드가 동시에 동일한 자원을 공유하면서 발생하는 문제 Race Condition 여러개의 프로세스가 동일한 공유 자원에 접근하면서 순서에 따라 실행 결과가 달라지므로 원하는 결과가 나오는 것을 보장할 수 없는 상태 개발자가 코드가 순차적으로 실행될 것이라고 생각하기 때문에 이러한 문제가 발생한다. Sleep을 준다? 이 경우 오류 가능성이 낮아지기 때문에 문제가 해결된 것처럼 보일 수도 있지만 사실 해결되지 않았다. 메모리 접근 동기화 데이터 레이스는 해결했지만 레이스컨디션은 해결하지 못했다. 메모리 접근만 동기화했을 뿐이지 여전히 누가 먼저 메모리에 접근할 지는 알 수 없다. 메모리 접근 동기화의 문제 데드락 첫 호출에서는 x를 먼저 잠그고 y를 잠그기 위해 기다린다. 두번째 호출에서는 y를 먼저 잠그고 x를 잠그기 위
snap install이나 apt install을 사용하지 않은 방법 1. 기존 버전 확인 2. 기존 설치된 go를 지우고 새로운 go 설치 3. 환경변수 등록;은 기존 경로와 동일한 경로에 재설치한다면 이미 등록되어 있음 4. 새로운 버전 확인 -끝- https://go.dev/doc/install 만약에 버전업 했는데도 버전이 바뀌지 않았다면 go 환경변수가 어디로 등록되어 있는지 명령어가 어디서 실행되고 있는지 확인 나의 경우에 go에 대한 환경변수가 따로 없었고, type go로 명령어 실행 위치를 확인하니 go는 해시됨 (/usr/bin/go)이라고 나옴 (아마 처음 설치시에 sudo snap install go나 `sudo a