Python Concurrency - Tính đồng thời trong Python
25/04/2023 01:31
Trong phần này, bạn sẽ biết cách sử dụng đồng thời do gói cung cấp asynciođể cải thiện hiệu suất, thông lượng và khả năng đáp ứng của chương trình.
rong phần này, bạn sẽ tìm hiểu về Python đồng thời bao gồm lập trình đa luồng, đa xử lý và không đồng bộ từ đầu.
Những gì bạn sẽ học:
- Xây dựng các ứng dụng Python hiệu suất cao và đáp ứng bằng cách sử dụng các kỹ thuật tương tranh.
- Phát triển các ứng dụng đa luồng sử dụng đa luồng.
- Phát triển một chương trình xử lý các nhiệm vụ song song.
- Hiểu mô hình đồng thời đơn luồng.
Phần 1. Đa luồng
Trong phần này, bạn sẽ hiểu rõ về các quy trình và luồng cũng như cách phát triển các chương trình đa luồng.
- Hiểu các quy trình và luồng – giúp bạn hiểu các quy trình và luồng cũng như sự khác biệt chính giữa chúng.
- Phân luồng – chỉ cho bạn cách sử dụng mô-đun phân luồng để phát triển ứng dụng đa luồng.
- Ví dụ về đa luồng – xây dựng một chương trình đa luồng để loại bỏ giá cổ phiếu.
- Sự kiện phân luồng – chỉ cho bạn cách sử dụng Sự kiện phân luồng để giao tiếp giữa các luồng.
- Cách dừng một luồng – tìm hiểu cách dừng một luồng con khỏi luồng chính.
- Chủ đề daemon – tìm hiểu về chủ đề daemon.
- Hàng đợi an toàn luồng – chỉ cho bạn cách sử dụng hàng đợi an toàn luồng để trao đổi dữ liệu an toàn giữa nhiều luồng.
- Nhóm luồng – hướng dẫn bạn cách quản lý nhiều luồng hiệu quả bằng cách sử dụng nhóm luồng.
- Khóa luồng – tìm hiểu cách truy cập biến được chia sẻ một cách an toàn từ nhiều luồng bằng cách sử dụng đối tượng Khóa.
Mục 2. Đa xử lý
Trong phần này, bạn sẽ học cách sử dụng gói đa xử lý để phát triển các chương trình chạy các tác vụ song song.
- Đa xử lý – chỉ cho bạn cách chạy mã song song bằng cách sử dụng mô-đun đa xử lý.
- Nhóm quy trình – tìm hiểu cách quản lý quy trình hiệu quả hơn bằng cách sử dụng nhóm quy trình.
Mục 3. I/O không đồng bộ
Trong phần này, bạn sẽ biết cách sử dụng đồng thời do gói cung cấp asyncio
để cải thiện hiệu suất, thông lượng và khả năng đáp ứng của chương trình.
- Hiểu vòng lặp sự kiện – giải thích cách hoạt động của vòng lặp sự kiện và
asyncio
cách gói sử dụng vòng lặp sự kiện để đạt được mô hình đồng thời một luồng. - async/await – giới thiệu với bạn các coroutine và cách sử dụng các từ khóa async và await để xác định và tạm dừng các coroutine.
- Tạo tác vụ – tìm hiểu cách tạo tác vụ và lên lịch để chúng chạy trên vòng lặp sự kiện.
- Hủy tác vụ – chỉ cho bạn cách hủy tác vụ bằng
cancel()
phương thức củaTask
đối tượng. - Hủy tác vụ khi hết thời gian chờ – chỉ cho bạn cách sử dụng
asyncio.wait_for()
chức năng này để hủy tác vụ khi hết thời gian chờ. - Tương lai – giải thích cho bạn về đối tượng Tương lai và những thứ đang chờ đợi.
- Chạy nhiều tác vụ đồng thời với thu thập() – chạy đồng thời danh sách các tác vụ với
asyncio.gather()
chức năng.