Tengo una pregunta rápida. Se supone que debo crear un pequeño programa multiproceso para capturar datos de múltiples sensores y tengo conocimiento tanto de pthreads como de qthreads. Tengo acceso a ambas bibliotecas. personalmente estoy predispuesto a utilizar Qt debido a su diseño y diversas funcionalidades. ¿Pero hay una ventaja significativa en el uso de uno frente al otro? GraciasQThreads Vs Pthreads
Respuesta
QThreads se basan en pthreads. Proporcionan una abstracción orientada a objetos, por lo que es más fácil trabajar con hilos. Además de que QThreads son portátiles, pueden ejecutarse en cualquier sistema que utilice el sistema de subprocesos subyacente, mientras que los pthreads son específicos de los sistemas POSIX.
La desventaja casi única de utilizar QThreads es que tendrá que vincular su aplicación con Qt; esta dependencia podría hacer que sea un poco más difícil distribuir su aplicación.
Creo que en el corazón de las cosas, QThread
en linux usa pthread
. No estoy seguro de lo que está debajo del capó para el lado de Windows. A menos que haya algunas funciones específicas de API pthread
que necesite que no estén disponibles con QThread
, me quedaré con QThread
solo para beneficiarme de la portabilidad que le brindará. No esperaría que haya una diferencia de rendimiento significativa. Qthread
también le permitirá usar el mecanismo de señal/ranura a través de los límites del hilo.
Pero tienes que saber qué QThreads usa event loop para administrarlo, así que no puedes simplemente matar el hilo como con pthread. Si los hilos trabajan mucho y duro, no es posible detenerlo mientras no se libere. En algún caso, es importante.
- 1. NSThread VS pthreads
- 2. Pthreads vs. OpenMP
- 3. Nice-Level para pthreads?
- 4. Enhebrar Box2D con pthreads
- 5. Falso compartir y pthreads
- 6. Pthreads en Visual C++
- 7. ¿Necesito -D_REENTRANT con -pthreads?
- 8. Paralelización: pthreads o OpenMP?
- 9. rastreando pthreads en linux?
- 10. Adquisición de recursos y pthreads
- 11. Manejo de señales en pthreads
- 12. ¿Cómo usar pthreads con Android NDK?
- 13. Señalización de una variable de condición (pthreads)
- 14. Realísticamente, ¿qué funcionalidad pthreads generalmente se usa?
- 15. ¿Necesitas unirte a un hilo cancelado? (pthreads)
- 16. ¿Por makecontext no funciona con pthreads
- 17. pthreads con prioridad de tiempo real
- 18. gcc diferencia entre -pthread y -pthreads?
- 19. Equivalente a SetThreadPriority en Linux (pthreads)
- 20. PThread vs boost :: thread?
- 21. Enviar y detectar señales en pthreads en C
- 22. El uso de la variable compartida por 10 pthreads
- 23. Cómo aumentar la prioridad de subprocesos en pthreads?
- 24. cómo se ven pthreads en linux por el programador
- 25. Entender la programación de Linux cuando pthreads están involucrados
- 26. Interrupción de dos pthreads de bloqueo mediante señales
- 27. pthreads: el hambre hilo causada por una rápida re-bloqueo
- 28. Un grupo de subprocesos muy simple utilizando pthreads en C++
- 29. Portabilidad de pthreads-win32 sobre varios compiladores de ventanas
- 30. Usando C/Pthreads: ¿las variables compartidas deben ser volátiles?
Ya ... Solo lo estaba mirando y parece que así es como se hace internamente. Gracias Peoro. De hecho, estaba buscando específicamente si tryLock() se implementa utilizando pthread_mutex_trylock. Creo que es así. – blueskin
el único problema de distribución es que debe incluir la licencia LGPL junto con su código cuando realiza un enlace dinámico a las bibliotecas de qt (suponiendo que esté utilizando la versión de fuente abierta y no comercial). En Windows, si no está seguro de qué DLLS necesitaría distribuir, use 'depends.exe' y ¡le dirá exactamente! http://www.dependencywalker.com/ – g19fanatic