DEV Community

Cover image for Concurrency trong Go: Tạo goroutine (phần 2)
handuy
handuy

Posted on

Concurrency trong Go: Tạo goroutine (phần 2)

bài viết trước, chúng ta đã biết cách tạo các goroutine bằng cách sử dụng từ khóa go trước lời gọi hàm. Tuy nhiên, các goroutine này chưa kịp chạy thì hàm main đã return khiến cho chương trình Go bị shutdown

Trong video dưới đây, mình chia sẻ một cách (hơi bị hacky "ăn gian" một xíu 😅 😅 😅 ) để cho hàm main chờ cho các goroutine chạy xong thì mới exit

Code sử dụng trong video:

package main

import (
    "fmt"
    "time"
)

func printNumber() {
    for i := 0; i <= 100; i++ {
        fmt.Printf("%d ", i)
    }
}

func printChar() {
    for i := 'A'; i < 'A'+26; i++ {
        fmt.Printf("%c ", i)
    }
}

func main() {
    go printNumber()
    go printChar()
    time.Sleep(3 * time.Second)
}

Enter fullscreen mode Exit fullscreen mode

Top comments (0)