Goroutines

6385 단어 gogo

Goroutines

Goroutines은 golang에서 동시성을 가능하게해준다.

func main() {
	sexyCount("a")
    	sexycount("b")
}

func sexyCount(person string) {
	for i:=0;i<10;i++ {
    	fmt.Println(person, "is sexy", i)
        time.Sleep(time.Second)
    }
}

위와 같은 함수를 만든다.
1초마다 한번씩 a is sexy를 10번 출력한 다음 b is sexy를 10번 출력한 후 프로그램은 종료된다.

func main() {
	go sexyCount("a")
    	sexycount("b")
}

func sexyCount(person string) {
	for i:=0;i<10;i++ {
    	fmt.Println(person, "is sexy", i)
        time.Sleep(time.Second)
    }
}

a is sexyb is sexy를 동시에 출력하려면 함수 앞에 go 키워드를 붙이면 된다.

go 키워드를 붙이게되면 두 함수가 동시에 실행된다.

func main() {
	go sexyCount("a")
    	go sexycount("b")
}

func sexyCount(person string) {
	for i:=0;i<10;i++ {
    	fmt.Println(person, "is sexy", i)
        time.Sleep(time.Second)
    }
}

그러나 위와 같이 두 함수 모두에 go 키워드를 붙히게되면 main 함수가 바로 종료되기 때문에 두 함수 모두 실행되지 않는다.
Gorountines은 main 함수가 실행되고 있을 경우에만 유효하다.

노마드코더, https://nomadcoders.co/go-for-beginners

좋은 웹페이지 즐겨찾기