"고루틴"의 두 판 사이의 차이

4번째 줄: 4번째 줄:
* Go 런타임이 관리하는 경량 쓰레드
* Go 런타임이 관리하는 경량 쓰레드
* 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드
* 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드
<source lang='go' run>
package main
import (
"fmt"
"time"
)
func say(s string) {
for i := 0; i < 5; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}
</source>


==예제==
==예제==

2020년 7월 16일 (목) 10:56 판

1 개요

Goroutine
고루틴
  • Go 런타임이 관리하는 경량 쓰레드
  • 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드
package main

import (
	"fmt"
	"time"
)

func say(s string) {
	for i := 0; i < 5; i++ {
		time.Sleep(100 * time.Millisecond)
		fmt.Println(s)
	}
}

func main() {
	go say("world")
	say("hello")
}

2 예제

goroutine.go
package main
import "fmt"
import "time"

func say(s string) {
	for i := 1; i <= 5; i++ {
		time.Sleep(100 * time.Millisecond)
		fmt.Printf("%s%d\n", s, i)
	}
}

func main() {
	go say("고루틴")
	say("직접")
}
$ go run goroutine.go 
고루틴1
직접1
직접2
고루틴2
고루틴3
직접3
직접4
고루틴4
고루틴5
직접5

3 같이 보기

4 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}