Hỗ trợ nền tảng

Mô-đun asyncio được thiết kế để có thể di động nhưng một số nền tảng có những khác biệt và hạn chế nhỏ do kiến trúc và khả năng cơ bản của nền tảng.

Tất cả nền tảng

cửa sổ

Source code: Lib/asyncio/proactor_events.py, Lib/asyncio/windows_events.py, Lib/asyncio/windows_utils.py


Thay đổi trong phiên bản 3.8: Trên Windows, ProactorEventLoop hiện là vòng lặp sự kiện mặc định.

Tất cả các vòng lặp sự kiện trên Windows không hỗ trợ các phương pháp sau:

SelectorEventLoop có những hạn chế sau:

ProactorEventLoop có những hạn chế sau:

Độ phân giải của đồng hồ đơn điệu trên Windows thường vào khoảng 15,6 mili giây. Độ phân giải tốt nhất là 0,5 mili giây. Độ phân giải phụ thuộc vào phần cứng (có sẵn HPET) và cấu hình Windows.

Hỗ trợ quy trình con trên Windows

Trên Windows, vòng lặp sự kiện mặc định ProactorEventLoop hỗ trợ các quy trình con, trong khi SelectorEventLoop thì không.

macOS

Các phiên bản macOS hiện đại được hỗ trợ đầy đủ.

macOS <= 10.8

Trên macOS 10.6, 10.7 và 10.8, vòng lặp sự kiện mặc định sử dụng selectors.KqueueSelector, không hỗ trợ các thiết bị ký tự trên các phiên bản này. SelectorEventLoop có thể được cấu hình thủ công để sử dụng SelectSelector hoặc PollSelector nhằm hỗ trợ các thiết bị ký tự trên các phiên bản macOS cũ hơn này. Ví dụ:

nhập asyncio
bộ chọn nhập

bộ chọn = bộ chọn.SelectSelector()
loop = asyncio.SelectorEventLoop(selector)
asyncio.set_event_loop(vòng lặp)