Goroutines
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 sexy
와 b 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
Author And Source
이 문제에 관하여(Goroutines), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hojin9622/Goroutines저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)