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

(새 문서: ==개요== ;Goroutine ;고루틴 * 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드 ==같이 보기== * Go 언어 * 루틴 ==참고...)
 
3번째 줄: 3번째 줄:
;고루틴
;고루틴
* 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드
* 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드
 
==예제==
{{소스헤더|goroutine.go}}
<source lang='go'>
package main
import "fmt"
import "time"
 
func foo(from string) {
for i := 0; i < 3; i++ {
fmt.Printf("from %s #%d\n", from, i)
time.Sleep(100*time.Millisecond)
}
}
 
func main() {
foo("직접")
go foo("고루틴")
foo("직접2")
time.Sleep(1*time.Second)
}
</source>
<source lang='console'>
$ go run goroutine.go
from 직접 #0
from 직접 #1
from 직접 #2
from 직접2 #0
from 고루틴 #0
from 고루틴 #1
from 직접2 #1
from 직접2 #2
from 고루틴 #2
</source>
 
==같이 보기==
==같이 보기==
* [[Go 언어]]
* [[Go 언어]]

2018년 6월 18일 (월) 13:33 판

1 개요

Goroutine
고루틴
  • 다른 함수 또는 메소드들을 병렬적으로 실행하는 함수 또는 메소드

2 예제

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

func foo(from string) {
	for i := 0; i < 3; i++ {
		fmt.Printf("from %s #%d\n", from, i)
		time.Sleep(100*time.Millisecond)
	}
}

func main() {
	foo("직접")
	go foo("고루틴")
	foo("직접2")
	time.Sleep(1*time.Second)
}
$ go run goroutine.go 
from 직접 #0
from 직접 #1
from 직접 #2
from 직접2 #0
from 고루틴 #0
from 고루틴 #1
from 직접2 #1
from 직접2 #2
from 고루틴 #2

3 같이 보기

4 참고

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