Lập trình 3 PHÚT ĐỌC 44 lượt xem

Goroutine Là Gì? Hiểu Nhanh Concurrency Trong Golang

Author
Lê Minh Trung
Tác giả
10/04/2026

1. Goroutine là gì?

Goroutine là:

  • Một "luồng nhẹ" (lightweight thread) trong Go
  • Cho phép chạy nhiều function song song (concurrent)

Ví dụ dễ hiểu:

Bình thường:

  • Bạn làm từng việc một

Goroutine:

  • Bạn làm nhiều việc cùng lúc

👉 Giống như:

  • 1 người làm việc -> chậm
  • 10 người làm cùng -> nhanh

2. Goroutine khác gì Thread?

Tiêu chí Thread Goroutine
Tài nguyên Nặng Nhẹ
Tạo mới Chậm Rất nhanh
Số lượng Ít Hàng ngàn
Quản lý OS Go runtime

Điểm mạnh: Goroutine nhẹ hơn thread rất nhiều

3. Cách sử dụng Goroutine

Chỉ cần thêm từ khóa go:

go funcName()

👉 Ví dụ:

package main

import "fmt"

func hello() {
    fmt.Println("Hello Goroutine")
}

func main() {
    go hello()
    fmt.Println("Main function")
}

👉 Kết quả:

  • hello() chạy song song với main

4. Goroutine hoạt động như thế nào?

  • Không chạy trực tiếp trên OS thread
  • Được quản lý bởi Go runtime
  • Runtime sẽ:
    • Phân phối goroutine
    • Tối ưu CPU

👉 Bạn không cần lo:

  • Thread
  • Scheduling

5. Goroutine + Channel

Goroutine thường đi kèm với: Channel (kênh giao tiếp)

Ví dụ:

  • Goroutine A gửi data
  • Goroutine B nhận data

👉 Giúp:

  • Tránh lỗi race condition
  • Code rõ ràng hơn

6. Sai lầm thường gặp

  • Tạo quá nhiều goroutine không kiểm soát
  • Không dùng channel -> dễ lỗi data
  • Không sync -> bug khó debug

7. Khi nào nên dùng Goroutine?

- Nên dùng khi:

  • Xử lý nhiều request
  • Gọi API song song
  • Xử lý background job

- Không nên dùng khi:

  • Task đơn giản
  • Không cần concurrency

8. Vì sao Goroutine quan trọng?

👉 Đây là lý do Go mạnh:

  • Scale tốt
  • Xử lý nhanh
  • Dễ viết concurrent code

👉 Nhiều hệ thống lớn dùng Go vì điều này

Kết luận

Goroutine là "vũ khí" mạnh nhất của Golang giúp bạn:

👉 Chạy hàng ngàn tác vụ cùng lúc

👉 Tối ưu hiệu năng hệ thống

Hiểu Goroutine = hiểu 80% sức mạnh của Go.

Thẻ
Author
Lê Minh Trung

Kỹ sư phần mềm

Kỹ sư phần mềm cao cấp & người đam mê công nghệ. Chia sẻ những kinh nghiệm thực tiễn từ hơn 5 năm xây dựng các sản phẩm kỹ thuật số.

Hỗ trợ Zalo Zalo Hỗ trợ Telegram Telegram Gọi cho tôi Phone Gửi Email Email
Bot
Assistant
Online
Hello! I'm the portfolio chatbot. Feel free to ask me anything 😊