Notice
Recent Posts
Recent Comments
Link
투케이2K
38. (Go Lang) [Mac Os] Go 문법 : Go 루틴 (go routine) 사용해 익명 함수 그룹 (Group) 실행 대기 수행 본문
Go Lang (Go 언어)
38. (Go Lang) [Mac Os] Go 문법 : Go 루틴 (go routine) 사용해 익명 함수 그룹 (Group) 실행 대기 수행
투케이2K 2024. 2. 20. 19:31[개발 환경 설정]
개발 언어 : Go
[소스 코드]
package main
import (
"fmt"
"sync"
)
func main() {
// ---------------------------------------------------
// [기본 설명]
// ---------------------------------------------------
// Go 루틴(go routine)은 Go 런타임이 관리하는 Lightweight 논리적 (혹은 가상적) 쓰레드입니다
// ---------------------------------------------------
// Go 루틴(go routine)은 비동기적으로(asynchronously) 함수루틴을 실행하므로, 여러 코드를 동시에(Concurrently) 실행하는데 사용됩니다
// ---------------------------------------------------
// [Wait Group 생성 - 2개의 Go 루틴을 기다림]
var wait sync.WaitGroup
wait.Add(2)
// [익명함수를 사용한 go routine]
go func() {
defer wait.Done() // 끝나면 Done() 호출
fmt.Println("Hello")
}()
// [익명함수를 사용한 go routine]
go func(msg string) {
defer wait.Done() // 끝나면 Done() 호출
fmt.Println(msg)
}("Twok") // 익명함수에 파라미터 전달
wait.Wait() // Go 루틴 모두 끝날 때까지 대기
}
[결과 출력]
반응형
'Go Lang (Go 언어)' 카테고리의 다른 글
Comments