2. Goroutine(특징)
고루틴은 다른 함수를 동시에 실행 할 수 있는 함수이다
Java에서의 Thread와 같은 개념으로 생각하면 된다
go 키워드와 함께 함수를 작성 하여 고루틴을 실행하면 된다
간편한 사용법
동작시키려는 함수 앞에 go 키워드만 붙여주면 됨.
Performance
goroutine : 4 ~ 4.5K
10. 동기화 객체
뮤텍스(sync.Mutex) Lock 뮤텍스 잠금
Unlock 뮤텍스 잠금 해제
읽기 쓰기 뮤텍스(sync.RWMute) Lock 쓰기 뮤텍스 잠금
Unlock 쓰기 뮤텍스 잠금 해제
RLock 읽기 뮤텍스 잠금
RUnlock 읽기 뮤텍스 잠금 해제
조건 변수(sync.Cond) NewCond 조건 변수 생성
Wait 고루틴 실행을 멈추고 대기
Signal 대기하고 있는 고루틴을 깨움
Broadcast 대기하고 있는 모든 고루틴을 깨움
대기그룹(sync.WaitGroup) Add 대기 그룹에 고루틴 개수 추가
Done 고루틴이 끝났다는 것을 알려줄 때 사용
Wait 모든 고루틴이 끝날 때까지 기다림
11. 동기화 객체(뮤텍스)
● 여러 고루틴이 공통 데이터에 순
서 없이 접근하여 처리
● 공통으로 사용되는 데이터에 대
한 처리결과가...뒤죽박죽..
12. 동기화 객체(뮤텍스)
● 여러 고루틴이 공통 데이터에 권
한을 얻어 접근하여 처리
● 공통으로 사용되는 데이터를 처
리하기위에 보호하고 보호를 풀
어 데이터에 대한 동기화 처리를
진행
● 항상 원하는 결과가 도출