투케이2K

37. (Go Lang) [Mac Os] Go 문법 : Go 루틴 (go routine) 사용해 Async 비동기 함수 동시 수행 실시 본문

Go Lang (Go 언어)

37. (Go Lang) [Mac Os] Go 문법 : Go 루틴 (go routine) 사용해 Async 비동기 함수 동시 수행 실시

투케이2K 2024. 2. 20. 19:20

[개발 환경 설정]

개발 언어 : Go

 

[소스 코드]

package main

import (
	"fmt"
	"time"
)

func main() {

	// ---------------------------------------------------
	// [기본 설명]
	// ---------------------------------------------------
	// Go 루틴(go routine)은 Go 런타임이 관리하는 Lightweight 논리적 (혹은 가상적) 쓰레드입니다
	// ---------------------------------------------------
	// Go 루틴(go routine)은 비동기적으로(asynchronously) 함수루틴을 실행하므로, 여러 코드를 동시에(Concurrently) 실행하는데 사용됩니다
	// ---------------------------------------------------

	// [메소드 호출]
	go print("Async1")
	go print("Async2")
	go print("Async3")

	// [3 초 대기]
	time.Sleep(time.Second * 3)

}

// [메소드 정의 실시]
func print(s string) {
	for i := 0; i < 5; i++ {
		fmt.Println(s, "-", i)
	}
}
 

[결과 출력]


반응형
Comments