편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
5번째 줄: | 5번째 줄: | ||
* 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드 | * 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드 | ||
< | <source lang='go' run> | ||
package main | package main | ||
import ( | import ( | ||
"fmt" | "fmt" | ||
"time" | "time" | ||
) | ) | ||
func say(s string) { | func say(s string) { | ||
for i := 0; i < 5; i++ { | for i := 0; i < 5; i++ { | ||
17번째 줄: | 19번째 줄: | ||
} | } | ||
} | } | ||
func main() { | func main() { | ||
go say("world") | go say("world") | ||
say("hello") | say("hello") | ||
} | } | ||
</ | </source> | ||
< | |||
==예제== | |||
{{소스헤더|goroutine.go}} | |||
<source lang='go'> | |||
package main | package main | ||
import | import "fmt" | ||
import "time" | |||
func say(s string) { | |||
func | for i := 1; i <= 5; i++ { | ||
time.Sleep(100 * time.Millisecond) | |||
fmt.Printf("%s%d\n", s, i) | |||
} | |||
} | } | ||
func main() { | func main() { | ||
go say("고루틴") | |||
say("직접") | |||
} | } | ||
</ | </source> | ||
<source lang='console'> | |||
$ go run goroutine.go | |||
고루틴1 | |||
직접1 | |||
직접2 | |||
고루틴2 | |||
고루틴3 | |||
직접3 | |||
직접4 | |||
고루틴4 | |||
고루틴5 | |||
직접5 | |||
</source> | |||
==같이 보기== | ==같이 보기== | ||
* [[Go 언어]] | |||
* [[루틴]] | * [[루틴]] | ||
==참고== | ==참고== | ||
55번째 줄: | 67번째 줄: | ||
* https://gobyexample.com/goroutines | * https://gobyexample.com/goroutines | ||
[[분류: | [[분류: Go]] | ||
[[분류: 쓰레드]] |