Trung BìnhPython iconPython

GIL là gì? Ảnh hưởng đến threading và multiprocessing thế nào?

GIL (Global Interpreter Lock) là mutex trong CPython đảm bảo chỉ một thread thực thi Python bytecode tại một thời điểm. Ảnh hưởng:

  1. I/O-bound tasks — threading vẫn hiệu quả vì GIL được release khi chờ I/O (network, file, DB)
  2. CPU-bound tasks — threading KHÔNG cải thiện do GIL → phải dùng multiprocessing để bypass GIL và chạy song song thực sự

Pitfall: GIL không có trong Jython và IronPython.

Python 3.13 ra mắt free-threaded build chính thức (python3.13t, PEP 703) — GIL tắt per-interpreter; đây là opt-in feature ổn định, không còn là "experimental".

Dự kiến broader adoption trong 3.14+.

Xem toàn bộ Python cùng filter theo level & chủ đề con.

Mở danh sách Python