Reader small image

You're reading from  Qt 6 C++ GUI Programming Cookbook - Third Edition

Product typeBook
Published inApr 2024
PublisherPackt
ISBN-139781805122630
Edition3rd Edition
Right arrow
Author (1)
Lee Zhi Eng
Lee Zhi Eng
author image
Lee Zhi Eng

Lee Zhi Eng is a self-taught programmer who worked as an artist and programmer at several game studios before becoming a part-time lecturer for 2 years at a university, teaching game development subjects related to Unity and Unreal Engine. He has not only taken part in various projects related to games, interactive apps, and virtual reality but has also participated in multiple projects that are more oriented toward software and system development. When he is not writing code, he enjoys traveling, photography, and exploring new technologies.
Read more about Lee Zhi Eng

Right arrow

Data protection and sharing data between threads

Even though multithreading makes processes run asynchronously, there will be times when threads must stop and wait for other threads. This usually happens when both threads modify the same variable simultaneously. It is common to force threads to wait for one another to protect shared resources, such as data. Qt 6 also provides both low-level methods and high-level mechanisms to synchronize threads.

How to do it…

We will continue to use the code from the previous example project, since we have already established a working program with multithreading:

  1. Open up myworker.h and add the following header:
    #include <QObject>
    #include <QDebug>
    #include <QMutex>
  2. Then, we will add two new variables and make some changes to the class constructor:
    public:
        explicit MyWorker(QMutex *mutex);
        int* myInputNumber;
        QMutex* myMutex;
    signals:
    ...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Qt 6 C++ GUI Programming Cookbook - Third Edition
Published in: Apr 2024Publisher: PacktISBN-13: 9781805122630

Author (1)

author image
Lee Zhi Eng

Lee Zhi Eng is a self-taught programmer who worked as an artist and programmer at several game studios before becoming a part-time lecturer for 2 years at a university, teaching game development subjects related to Unity and Unreal Engine. He has not only taken part in various projects related to games, interactive apps, and virtual reality but has also participated in multiple projects that are more oriented toward software and system development. When he is not writing code, he enjoys traveling, photography, and exploring new technologies.
Read more about Lee Zhi Eng