Tôi đang viết một ứng dụng GUI thường xuyên truy xuất dữ liệu thông qua kết nối web. Vì quá trình truy xuất này mất một thời gian, điều này khiến UI không phản hồi trong quá trình truy xuất (nó không thể được chia thành các phần nhỏ hơn). Đây là lý do tại sao tôi muốn thuê ngoài kết nối web đến một luồng công nhân riêng biệt.
[Vâng, tôi biết, bây giờ tôi có hai vấn đề .]
Dù sao, ứng dụng sử dụng PyQt4, vì vậy tôi muốn biết lựa chọn nào tốt hơn: Sử dụng các luồng của Qt hoặc sử dụng threading
mô-đun Python ? Ưu điểm / nhược điểm của mỗi loại là gì? Hay bạn có một đề nghị hoàn toàn khác nhau?
Chỉnh sửa (re bounty): Mặc dù giải pháp trong trường hợp cụ thể của tôi có thể sẽ sử dụng một yêu cầu mạng không chặn như Jeff Ober và Lukáš Lalinský đề xuất (vì vậy về cơ bản để lại các vấn đề tương tranh cho việc triển khai mạng), tôi vẫn muốn nhiều hơn câu trả lời sâu sắc cho câu hỏi chung:
Những lợi thế và bất lợi của việc sử dụng các luồng của PyQt4 (tức là Qt) so với các luồng Python gốc (từ threading
mô-đun) là gì?
Chỉnh sửa 2: Cảm ơn tất cả các bạn câu trả lời. Mặc dù không có thỏa thuận 100%, nhưng dường như có sự đồng thuận rộng rãi rằng câu trả lời là "sử dụng Qt", vì lợi thế của việc đó là tích hợp với phần còn lại của thư viện, trong khi không gây ra bất lợi thực sự.
Đối với bất kỳ ai muốn lựa chọn giữa hai triển khai luồng, tôi khuyên họ nên đọc tất cả các câu trả lời được cung cấp ở đây, bao gồm cả chuỗi danh sách gửi thư PyQt mà abbot liên kết đến.
Có một số câu trả lời tôi đã xem xét cho tiền thưởng; cuối cùng tôi đã chọn trụ trì cho tài liệu tham khảo bên ngoài rất phù hợp; đó là, tuy nhiên, một cuộc gọi gần
Cảm ơn một lần nữa.