Conozco la teoría general, Thread, QRunnable y QThreadPool. ¿Cómo encaja todo? Quiero decir, cuando se crea una instancia de QRunnable y se asigna a ThreadPool, ¿qué significa iniciar un hilo? ¿Pueden varios subprocesos acceder al mismo QRunnable? ¿Un QRunnable necesariamente correlaciona uno a uno con un hilo de trabajo?Threads, QRunnable y QThreadPool, no puedo encajar en los detalles
Respuesta
QRunnable encapsula una tarea que desea realizar en un hilo separado. Si necesita saber qué hilo está ejecutando esa tarea o compartirla entre hilos, entonces probablemente esté haciendo algo más complicado de lo que QThreadPool está diseñado para potenciar. En ese caso, crearía un comportamiento personalizado usando QThread directamente. "Iniciar" un QRunnable con un QThreadPool es análogo a poner en cola esa tarea para un hilo disponible en el conjunto. Mientras que, iniciar un QThread en realidad asigna un nuevo hilo del sistema operativo y lo ejecuta.
El grupo de subprocesos administrará un número finito de subprocesos con una cola de trabajo de instancias de QRunnable. A medida que un hilo esté disponible, se le asignará un QRunnable para procesar. No necesita crear explícitamente ninguna instancia de QThread si está utilizando QThreadPool con QRunnable. Tenga en cuenta que aún debe asegurarse de que los recursos compartidos estén sincronizados (por ejemplo, con QMutex, QMutexLocker, QReadWriteLock, QSemaphore y/o QWaitCondition) cuando se utilizan en instancias de QRunnable.
- 1. OpenSSL y multi-threads
- 2. ¿Cómo puedo leer los detalles del archivo?
- 3. Java while loop y Threads!
- 4. decaf threads vs boost threads vs omnithreads
- 5. Las abstracciones no deben depender de los detalles. Los detalles deben depender de las abstracciones
- 6. RejectedExecutionException en Java Threads
- 7. SciPy curva global mínima encajar
- 8. Problemas con Boost :: Python y Boost :: Threads
- 9. ptrace and threads
- 10. Force CherryPy Child Threads
- 11. Python: ¿Socket and Threads?
- 12. @ Html.DisplayNameFor para los detalles modelo
- 13. ¿Dimensionando un UILabel para encajar?
- 14. En Scrum, ¿dónde se sientan los detalles?
- 15. ThreadPool max threads
- 16. BackgroundWorker and Threads
- 17. imprimir css: encajar en una sola página
- 18. Eclipse StatusManager no muestran detalles
- 19. Apache Tomcat Request Threads
- 20. ¿Cómo puedo almacenar de forma segura y acceder a los detalles de la cadena de conexión?
- 21. Cómo implementar Multi-Threads en Common Lisp
- 22. ExecutionContext of Threads
- 23. Efecto de IsBackground en .Net Threads?
- 24. ArrayList - agregue los "mismos" objetos (same => equals, hashCode), Threads
- 25. Encajar modelo 3D dentro de una ventana
- 26. java.util.concurrent vs. Boost Threads library
- 27. Para obtener los detalles de la tabla
- 28. Detalles sobre Endian-ness y .Net?
- 29. Qt Signals/Slots and Threads
- 30. Javascript en Delphi TWebBrowser, Closing Threads