테스트 사이트 - 개발 중인 베타 버전입니다

Golang 고루틴

· 5년 전 · 1184 · 1

글은 써야되는데 여친이랑 헤어져서 그런 겨를이 없었네요

암튼 고루틴에 대한 글 하나 쓰구 다음에 다시 오겠습니다

 

=====

고루틴은 일단 쓰레드같은 개념이라고 보시면 됩니다.

OS 쓰레드보다는 훨씬 가볍게 비동기 병렬 처리를 구현할 수 있도록 할 수 있습니다.

Go 런타임이 자체 관리하며, 여러개의 Go루틴들은 종종 하나의 OS 쓰레드로도 실행되기도 합니다.

 

즉 Go루틴들은 OS 쓰레드과는 1대 1로 대응하지 않으며, 훨신 적은 OS 쓰레드를 사용합니다

 

메모리 측면에서도 Go루틴은 몇 킬로바이트의 스택(필요시 동적으로 증가함.)을 가지고 있지만

OS 쓰레드들은 1 메가바이트의 스택을 가지고 있습니다.

 

고루틴을 생성하는 방법은 아주 쉽습니다.

 

```

go fmt.Println("고루틴으로 하이!")

```

 

단지 함수 앞에 go 를 붙이면 됩니다.

 

```

func main() {

   go func() {

        fmt.Println("이게 먼절까?")

   }

   fmt.Println("저게 먼절까?)

}

```

 

이 중에 '이게 먼절까?' 와 '저게 먼절까?' 중 뭐가 먼저 출력되는 지는 알 수 없습니다.

 

다음엔 쫌 더 자세하게 설명할 수 있게 더 공부하고,

더 좋은 예제로 오겠습니다

언제올지는 몰라요... 요즘 노래만 듣느라

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

5년 전
예제 고맙습니다.

게시글 목록

번호 제목
92
82
80
79
78
77
76
75
72
65
64
63
62
57
55
54
53
52
51
50
46
44
43
39
34
29
28
27
26
22