inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

쉽고 빠르게 끝내는 GO언어 프로그래밍 핵심 기초 입문 과정

고루틴 동기화 기초

몇가지 질문이 있습니다

286

최동혁

작성한 질문수 4

0

다음 강의에서 다루는지는 잘 모르겠지만 지금 강의에서 궁금한게 몇가지 있습니다.

1. wait()를 사용한 시점부터 아래 코드들이 일시정지인 상태로 진행이 되는 것으로 이해가 되는데, 그렇다면 mutex.Unlock()을 읽지 못해서 에러를 발생해야 맞는게 아닌가요 ? 궁금해서 Wait() 코드를 보니깐 아래처럼 나오더라구요. 그러면 Wait()가 동작하고 Unlock()이 동작하고 WaitList 추가한다음 Lock()을 걸고 제가 작성한 코드로 돌아와서 for문의 Lock()을 다시 거는것처럼 보이는데 이러면 오류가 발생하지 않나요 ???

2. Wait()로 일시정지를 했다면 이 순서같은 경우는 그냥 랜덤으로 동작하게 되는건가요? Signal로 특정 고루틴을 깨우는것이 불가능 한건가요 ? 

go

답변 2

0

최동혁

답변감사합니다!

0

좋은사람

1. 오류가 발생하지 않습니다.

    초반부의 뮤텍스 부분을 다시 정독해 보시면 됩니다.

2. 아래 예제를 시간 나실 때 읽어보시면 도움이 되실 겁니다.(번역도 가능)

https://medium.com/@matryer/golang-advent-calendar-day-two-starting-and-stopping-things-with-a-signal-channel-f5048161018

고 인터페이스 관련

0

69

2

Join함수 사용이유가 궁금합니다

0

54

1

vscode 설정

0

126

2

arm64

0

202

2

undefined 에러 : UndeclaredImportedName

0

343

1

godoc 에러 관련

0

206

1

package is not in std 오류

0

985

1

맵 예제 코드가 바이러스 검사에 걸려요

0

234

1

for 반복문에서 break와 continue 차이점

0

224

1

후치연산 관련 질문입니다.

0

197

1

package관리에 질문이 있습니다.

0

281

1

go channel 에제에서 질문이 있습니다.

0

193

1

golang 질문

0

310

1

재귀 함수 관련하여 질문이 있습니다.

0

346

1

atom 서비스 종료 관련

0

403

1

vscode 환경설정 업데이트 부탁드립니다

1

403

2

waitGroup.Done을 지연 시키는 방식

0

449

1

첫 번째 예제 질문있습니다.

0

263

1

2개씩 체크가 되는 이유가 궁금합니다.

0

328

1

go 표준 코드 컨벤션이 있나요?

0

825

1

slice에서 make 궁금한 게 있습니다.

1

262

1

import 관리는 어떻게 하나요?

0

317

1

개발환경설정 질문드립니다.

0

486

1

이것도 closure인가요?

0

238

1