2016-04-25 12 views
7

Tôi đang cố tạo một khung công tác GUI sẽ có vòng lặp sự kiện. một số chủ đề để xử lý giao diện người dùng và một số để xử lý sự kiện. Tôi đã tìm kiếm một chút và tìm thấy ba thư viện này và tôi tự hỏi cái nào tốt hơn để sử dụng? Những ưu và khuyết điểm là gì?Eventlet vs Greenlet vs gevent?

tôi có thể sử dụng một trong ba thư viện này hoặc thậm chí tạo tạo một cái gì đó cho bản thân mình bằng cách sử dụng python đề, hoặc đồng thời thư viện.

Tôi sẽ đánh giá cao việc chia sẻ bất kỳ loại trải nghiệm, điểm chuẩn và so sánh nào.

+1

đọc bài đăng trên blog này rất cẩn thận có thể giúp https://blog.gevent.org/2010/02/27/why-gevent/ –

Trả lời

7
  • Bạn chắc chắn không muốn greenlet vì mục đích này, vì đó là thư viện cấp thấp mà bạn có thể tạo thư viện chuỗi ánh sáng (như Eventlet và Gevent).
  • Thư viện tổ chức sự kiện, Gevent và các thư viện tương tự khác cung cấp bộ công cụ tuyệt vời cho các tác vụ liên quan đến IO (chờ đọc/ghi trên tệp, mạng).
  • Có khả năng, hầu hết mã GUI của bạn sẽ đợi các luồng khác (tại thời điểm này luồng xanh/ánh sáng/OS không liên quan) để hoàn thành, đó là mục tiêu hoàn hảo cho các thư viện được đề cập ở trên.
  • Tất cả thư viện chủ đề màu xanh lá cây đều giống nhau. Hãy thử tất cả và quyết định cái nào phù hợp nhất với dự án của bạn.
  • Nhưng cũng có thể bạn sẽ cần trích xuất một số thứ vào một chuỗi hệ điều hành riêng biệt do các yêu cầu của lớp GUI cấp hệ điều hành.
  • Xem xét và thực hiện tốt hơn khóa chuỗi trong Python3 bạn có thể muốn chỉ cần gắn với mô-đun threading gốc nếu ứng dụng của bạn không cần hàng trăm hoặc nhiều chủ đề.
Các vấn đề liên quan