QThreads Vs Pthreads

8

Ich habe eine kurze Frage. Ich soll ein kleines Multithread-Programm erstellen, um Daten von mehreren Sensoren zu erfassen, und ich habe Kenntnisse sowohl von Pthreads und qthreads. Ich habe Zugriff auf beide Bibliotheken. persönlich bin ich voreingenommen gegenüber Qt wegen seines Designs und verschiedener Funktionalitäten. Aber gibt es einen signifikanten Vorteil bei der Verwendung von einem gegen den anderen? Danke

    
blueskin 10.11.2010, 00:35
quelle

3 Antworten

8

QThreads sind auf Pthreads aufgebaut. Sie bieten eine objektorientierte Abstraktion, die das Arbeiten mit Threads erleichtert. Abgesehen davon, dass QThreads portabel sind, können sie auf jedem System laufen, das das zugrundeliegende Thread-System verwendet, während PThreads spezifisch für POSIX-Systeme sind.

Der fast einzige Nachteil der Verwendung von QThreads besteht darin, dass Sie Ihre Anwendung mit Qt verknüpfen müssen; Diese Abhängigkeit könnte die Verteilung Ihrer Anwendung ein wenig erschweren.

    
peoro 10.11.2010, 01:30
quelle
4

Aber Sie müssen wissen, was QThreads verwenden, um eine Schleife zu verwalten, damit Sie nicht einfach Thread wie mit Pthread beenden können. Wenn Threads lange und hart arbeiten, ist es nicht möglich, sie zu stoppen, solange sie nicht freigegeben werden. In einigen Fällen ist es wichtig.

    
Eugene 27.09.2011 10:24
quelle
2

Ich denke, im Kern der Dinge verwendet QThread unter Linux pthread . Ich bin nicht sicher, was für die Windows-Seite unter der Haube ist. Es sei denn, es gibt einige spezielle pthread API-Funktionen, die nicht mit QThread verfügbar sind, würde ich bei QThread bleiben, nur um von der Portabilität zu profitieren, die es Ihnen geben wird. Ich würde nicht erwarten, dass es einen signifikanten Leistungsunterschied geben würde. Qthread ermöglicht es Ihnen auch, den Signal / Slot-Mechanismus über Thread-Grenzen hinweg zu verwenden.

    
Arnold Spence 10.11.2010 01:29
quelle

Tags und Links