Version 1.2

other: Multithreading in Qt

Training by David Faure


This training is kindly provided by KDAB. It contains high-quality content that we can unfortunately only make available to our existing contributors. If you have a KDE developer account you can find details for how to join the trainings at If you don't, we recommend checking out one of the other trainings we offer.

Prerequisite: Knowledge and experience programming with Qt and C++, as well as a basic understanding of multithreaded programming (threads, mutexes). // Multithreaded programming is essential for developers to create fast and responsive applications on computers, phones, and embedded devices all with an increasing number of cores. Qt offers several mechanisms for multithreading; however, it can be difficult to know which to use and how to steer clear of common pitfalls. This course offers guidance how to write safe and efficient multithreaded code with Qt.

Topics include:
* A precise definition of data races: what is allowed and what isn't. Example: do you need to protect a shared bool with a mutex?
* Multithreading with Qt (QThread, QThreadPool, QtConcurrent::run, etc)
* Special concerns for Qt applications (cross-thread signals/slots, QObject thread affinity, the GUI thread)
* Comparison between Qt and standard C++ multithreading programming.

About the Trainer, David Faure:
Senior software engineer at KDAB, David has used Qt since its beginning and has made numerous contributions to Qt, including new classes for QtCore in Qt 5. David is well known in the KDE project for his work on the web browser and especially on KDE Frameworks. He has taught Qt development at numerous conferences and to companies such as Michelin, Schlumberger and Orange. He has become a specialist in multithreading with Qt, as well as performance optimizations. David holds an MSc in Computer Science.

Please note, this training will not be recorded.


Day: 2020-09-04
Start time: 16:00
Duration: 04:00
Room: Training Room 2
Track: Training



Click here to let us know how you liked this event.

Concurrent Events