KDAB inaugurates first in-depth multithreading training
The first in-depth training on multithreading took place at the KDAB training facility in Berlin between the 16th and 18th of April. The training course was written and presented by KDAB Senior Software Engineer, Marc Mutz. Unlike our more general “Programming with Qt” training courses, this training was specifically aimed at understanding the concepts, potential issues and respective solutions, surrounding parallel data processing. The range of topics, from basics like reentrancy and synchronization, via parallel algorithms to lock-free atomic operations, was covered on both theoretical as well as practical levels, with special emphasis on the respective Qt APIs.
Rafael Roquetto, a KDABian who participated as a student, commented, “The highlight of the training for me was when we were introduced to some design patterns I was unaware of. I am fascinated by the concepts of futures, promises and active objects. It’s another way of thinking multithreading. And it did not stop there. After digging out of the sea of active objects, futures and promises, Marc proceeded to explain how Qt manages to implement and provide all of this functionality from a practical standpoint.”
Finally, the training ended with a careful explanation of atomic operations (what they are, what they are used for and how they are implemented by Qt) and memory fences (also known as memory barriers).
If you missed this opportunity to gain an in-depth view of multithreading, we can offer you three options: (1) buy this as an onsite training (2) sign up for the next “Multithreaded programming with Qt” training in September or (3) email trainings@kdab.com telling us your interest, and we might be able to run it earlier.
Rafael Roquetto added, “I had absolutely no idea of the importance of taking into account the possibility that your code may be executed out of order by the processor, and the possible consequences this can bring about with a program, as well as the key role memory fences play on addressing several issues related to it. It is really learning to think differently, but once you get it, you begin to take into account many things you would previously think they were irrelevant on the context of multithreaded software development“.
All in all, KDAB is very proud of the outcome of this training and we hope the students learned not only the Qt part of it, but also important programming concepts that can be applied elsewhere.