Asyncio thu thập trăn
Phần I của bài viết. https. //viblo. asia/p/python-sleep-how-to-add-time-delays-to-your-code-part-i-translated-6J3ZgP6glmB Phần II của bài viết. https. //viblo. asia/p/trăn-ngủ-cach-them-do-tre-vao-chuong-trinh-phan-ii-dich-ORNZq1O3Z0n Thêm cuộc gọi ngủ Python() với Async IOBộ khả năng bất đồng đã được thêm vào Python 3. 4 và tính năng này ngày càng được phát triển mạnh mẽ. Lập trình bất đồng bộ là một kiểu thiết lập song song cho phép bạn chạy đa tác vụ cùng một lúc. Khi một nhiệm vụ hoàn thành, nó sẽ thông báo về chủ đề chính 2 là mô-đun cho phép bạn thêm lời gọi 3 bất đồng bộ. Nếu bạn không quen với bản thực thi thiết lập bất đồng bộ của python, hãy xem bài viết Async IO trong Python. Hướng dẫn hoàn chỉnh và Python Concurrency & Parallel ProgrammingĐây là một ví dụ từ tài liệu của Python chính
Trong ví dụ này, bạn chạy 4 và khiến nó ngủ 1 giây giữa hai lời gọi 5Còn đây là một ví dụ hấp dẫn khác từ phần tài liệu Coroutines and Tasks
Trong đoạn mã này, bạn tạo ra worker 0 nhận số giây 1 để ngủ và 2 để vào. Sau đó, bạn sử dụng từ khóa 3 để chờ hàm 0 chạy. 3 bắt buộc phải có vì 0 đã được đánh giá là một hàm 7, vì vậy bạn không thể gọi nó giống như hàm thông thườngKhi nào bạn chạy đoạn mã, chương trình sẽ xử lý 3 ba lần. Đoạn mã sẽ đợi 1, 2 và 3 giây, tổng cộng là 6 giây. Bạn có thể viết lại đoạn mã để các tác vụ chạy song bài hát 1Bạn đang sử dụng khái niệm về các nhiệm vụ mà bạn có thể tạo ra với 9. Khi bạn sử dụng tác vụ trong 2, Python sẽ chạy các tác vụ bất đồng bộ. Do vậy, khi bạn chạy đoạn mã bên trên, nó sẽ hoàn thành trong 3 giây thay vì 6Thêm một cuộc gọi ngủ Python() với GUICác ứng dụng dòng lệnh không phải là nơi duy nhất mà bạn có thể cần sử dụng hàm 3. When you at a GUI, this time you will need to more setting. Ví dụ, bạn có thể tạo một ứng dụng FTP để tải xuống hàng triệu tệp nhưng bạn cần thêm một lời gọi 3 giữa các lô để máy chủ của bạn tránh bị chếtCode GUI sẽ chạy các công việc xử lý và vẽ trong thread gọi chính là vòng lặp sự kiện. Nếu bạn sử dụng 13 trong mã GUI, bạn sẽ chặn vòng lặp sự kiện. Ở cạnh nghĩa của ứng dụng, ứng dụng có thể treo. Người dùng không thể tương tác với ứng dụng trong khi nó đang ngủ với phương thức này. Trên Windows, bạn thậm chí có thể nhận được một cảnh báoCó thể thay, có các phương thức khác mà bạn có thể sử dụng bên trong 13. Trong các phần tiếp theo, bạn sẽ tìm hiểu thêm cách gọi 3 trong cả Tkinter và wxPythonNgủ ở TkinterNguồn. https. //trăn thật. com/trăn-ngủ/ 16 thuộc thư viện chuẩn của Python. Nó không thể khả dụng nếu bạn đang sử dụng Python phiên bản cài đặt sẵn trên Linux và Mac. Nếu bạn gặp lỗi 17 thì bạn cần tìm cách thêm nó vào hệ thống. Nhưng nếu bạn tự cài đặt Python, thì 16 sẽ sẵn sàng để sử dụngYou will started with ví dụ sử dụng 13. Chạy đoạn mã này để xem điều gì xảy ra khi bạn thêm lệnh gọi 3 sai cách 9Một khi bạn chạy đoạn mã trên, nhấn nút trong GUI. Nút nhấn sẽ không bị chặn lại trong ba giây vì nó đang đợi 3 hoàn thành. Nếu ứng dụng có các nút khác, bạn không thể nhấp vào chúng. Bạn không thể đóng ứng dụng khi nó đang ngủ vì nó không thể trả lời sự kiện đóngĐể tạo ra 16 ngủ đúng cách, bạn cần sử dụng 93 2Ở đây, bạn tạo ra một ứng dụng có kích thước 400 x 400, không chứa widget. Tất cả những gì nó làm đều hiển thị một khung. Sau đó, bạn gọi cho 94 mà ở đó 95 tham chiếu tới đối tượng 96 nhận hai tham trị
Trong trường hợp này, ứng dụng của bạn sẽ xuất hiện một chuỗi ra thiết bị xuất chuẩn sau 3 giây. Bạn có thể coi 93 như là phiên bản 13 của 16 nhưng nó cũng có khả năng gọi một hàm sau khi ngủ kết thúcBạn có thể sử dụng chức năng này để cải thiện trải nghiệm người dùng (trải nghiệm người dùng). Bằng cách thêm một lệnh gọi 3, bạn có thể làm cho ứng dụng của mình có cảm giác tải nhanh hơn và sau đó khởi động các tiến trình lâu hơn. Bằng cách này, người dùng sẽ không phải đợi ứng dụng được mởNgủ trong wxPythonCó hai sự khác biệt chính giữa 21 và 22
Framework 21 không được tích hợp sẵn vào Python, vì vậy bạn phải tự tải chúng về. Nếu bạn không quan tâm về 21, hãy kiểm tra Cách xây dựng ứng dụng GUI Python với wxPythonTrong 27, bạn có thể sử dụng 28 để thêm lời gọi cho 3 7Tại đây, bạn thực hiện kế thừa trực tiếp và sau đó gọi là 28. Hàm này nhận các tham số giống như 93 của Tkinter
Khi bạn chạy đoạn mã này, bạn sẽ thấy một cửa sổ trắng (trống) xuất hiện mà không có bất kỳ widget nào. Sau 4 giây, bạn sẽ thấy chuỗi "Tôi bị trì hoãn" xuất hiện trong thiết bị xuất chuẩn Một trong những lợi ích của công việc sử dụng 28 chính là thread-safe. Bạn có thể sử dụng phương thức này từ một luồng để gọi một hàm trong ứng dụng 21 |