2013-05-28 27 views
10

Sự khác nhau giữa QThread và QRunnable là gì?C++/Qt - QThread vs QRunnable

Khi nào tôi nên sử dụng QThread và khi QRunnable?

+0

A nói rất tốt về đa luồng trong Qt (họ giải thích QThread, QRunnable, QThreadPool, cross-đề tín hiệu-khe , vv) đã được đưa ra tại Qt DevDays 2011. Video có thể được tìm thấy ở đây: [Phần 1] (http://qt-project.org/videos/watch/advanced-qt-a-deep-dive-3-6- multithreading-1), [Phần 2] (http://qt-project.org/videos/watch/advanced-qt-a-deep-dive-4-6-multithreading-2). – leemes

Trả lời

8

Các QRunnable lớp và QtConcurrent::run() chức năng là rất phù hợp với những tình huống mà chúng tôi muốn thực hiện một số xử lý nền trong một hoặc nhiều đề thứ yếu mà không cần toàn bộ sức mạnh và tính linh hoạt được cung cấp bởi QThread.

từ "nâng cao Qt Lập trình: Tạo vĩ đại Software với C++ và Qt 4" Mark Summerfield

+4

Câu trả lời này sẽ hữu ích nếu nó giải thích "toàn bộ sức mạnh và tính linh hoạt được cung cấp bởi QThread", bởi vì nó cho thấy bạn nên mặc định sử dụng QRunnable, và sử dụng QThread chỉ khi bạn cần ... Cái gì? Tín hiệu? Một vòng lặp sự kiện? Vv – Schollii

Các vấn đề liên quan