Python có tốt cho đồng thời không?
Python có tốt cho đồng thời không?

Video: Python có tốt cho đồng thời không?

Video: Python có tốt cho đồng thời không?
Video: Python nâng cao - Dùng generator để tối ưu bộ nhớ và thời gian chạy chương trình python 2024, Có thể
Anonim

Python không nhiều lắm tốt cho CPU bị ràng buộc đồng thời lập trình. GIL sẽ (trong nhiều trường hợp) làm cho chương trình của bạn chạy như thể nó đang chạy trên một lõi đơn - hoặc thậm chí tệ hơn. Nếu ứng dụng của bạn bị ràng buộc I / O, Python có thể là một giải pháp nghiêm túc vì GIL thường được phát hành trong khi thực hiện chặn các cuộc gọi.

Cũng cần biết là Python có hỗ trợ đồng thời không?

Python không có các thư viện tích hợp cho những thứ phổ biến nhất đồng thời cấu trúc lập trình - đa xử lý và đa luồng. Lý do là, đa luồng trong Python không thực sự là đa luồng, do GIL trong Python.

Người ta cũng có thể hỏi, tại sao đa luồng không thể thực hiện được trong python? Trình thông dịch CPython (đối với Python mã) sẽ buộc GIL được phát hành sau mỗi lệnh mã hàng trăm byte. Nó chỉ cho phép một luồng chạy cùng một lúc trong trình thông dịch. Vì vậy, đa xử lý không đa luồng sẽ cho phép bạn đạt được đồng thời thực sự.

Sau đó, câu hỏi đặt ra là Python có tốt cho đa luồng không?

Python không cho phép đa luồng theo nghĩa chân thật nhất của từ này. Nó có một đa luồng gói nhưng nếu bạn muốn đa luồng để tăng tốc mã của bạn, thì nó thường không tốt ý tưởng để sử dụng nó. Python có một cấu trúc được gọi là Global Interpreter Lock (GIL).

Mô-đun nào có thể được sử dụng để triển khai đồng thời trong Python 3?

Các đồng thời . tương lai mô-đun đã được thêm vào Python 3.2. Theo Python nó cung cấp cho nhà phát triển một giao diện cấp cao để thực thi không đồng bộ các lệnh gọi.

Đề xuất: