반응형
Go언어의 장점 중 하나로 비동기 함수실행을 매우 쉽게 구현한다는 점입니다.
비동기 프로그래밍을 직접 해본적이 없어서 잘은 모르지만, 아래 예제를 보니 정말 쉬운 것 같습니다.
package main import ( "fmt" "time" ) func say(s string) { for i := 0; i < 10; i++ { fmt.Println(s, "***", i) } } func main() { // 함수를 동기적으로 실행 say("Sync") // 함수를 비동기적으로 실행 go say("Async1") go say("Async2") go say("Async3") // 3초 대기 time.Sleep(time.Second * 3) }
결과
C:/Go/bin/go.exe build [D:/5.System_dev/7_GO/async] Success: process exited with code 0. D:/5.System_dev/7_GO/async/async.exe [D:/5.System_dev/7_GO/async] Sync *** 0 Sync *** 1 Sync *** 2 Sync *** 3 Sync *** 4 Sync *** 5 Sync *** 6 Sync *** 7 Sync *** 8 Sync *** 9 Async2 *** 0 Async1 *** 0 Async1 *** 1 Async1 *** 2 Async1 *** 3 Async1 *** 4 Async1 *** 5 Async1 *** 6 Async1 *** 7 Async1 *** 8 Async1 *** 9 Async2 *** 1 Async2 *** 2 Async2 *** 3 Async2 *** 4 Async2 *** 5 Async2 *** 6 Async2 *** 7 Async2 *** 8 Async2 *** 9 Async3 *** 0 Async3 *** 1 Async3 *** 2 Async3 *** 3 Async3 *** 4 Async3 *** 5 Async3 *** 6 Async3 *** 7 Async3 *** 8 Async3 *** 9 Success: process exited with code 0.
-끝-
반응형
'Programming > Golang' 카테고리의 다른 글
Go언어 oracle 연결 (2) | 2020.03.26 |
---|---|
Gotk3를 이용한 go언어 GUI 개발 예제 (0) | 2020.03.16 |
andlabs/ui 를 이용한 go언어 GUI개발 예제 (0) | 2020.03.16 |
Go언어-파일찾기 프로그램 예제 (0) | 2020.03.16 |
Go언어 - liteIDE설치 및 실행 (2) | 2020.03.16 |