Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополнительные материалы.pdf
Скачиваний:
3
Добавлен:
07.06.2025
Размер:
12.29 Mб
Скачать

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

QOBJECT И НАСЛЕДНИКИ: ОГРАНИЧЕНИЯ

Наследник QObject должен всегда создаваться в потоке, где был создан родитель

Объекты, управляемые событиями, могут использоваться только в одном потоке

Убедитесь, что все объекты, созданные в потоке, удалены, прежде чем удалить QThread

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

ДОСТУП К НАСЛЕДНИКАМ QOBJECT ИЗ ДРУГИХ ПОТОКОВ

QObject и все его подклассы не являются потокобезопасными

Защитите доступ к внутренним данным наследника QObject или QThread с помощью мьютекса, если его нужно использовать из нескольких потоков

Отправление сигнала является потокобезопасным

ПОДДЕРЖКА ПОТОКОВ

4

В QT И С++

 

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

ПОДДЕРЖКА ПОТОКОВ В МОДУЛЯХ QT

SQL: Соединение можно использовать только из потока, который его создал

Рисование

»QPainter можно использовать в потоке для рисования на QImage, QPrinter и QPicture

»Любое количество потоков может рисовать в любой момент времени

»Только один поток за один раз может рисовать на заданном объекте

Текст: QTextDocument, QTextCursor и все связанные классы являются реентерабельными

doc.qt.io/qt-5/threads.html

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

ПОДДЕРЖКА ПОТОКОВ В QT И С++: ОСНОВНЫЕ КЛАССЫ

QAtomicInteger

Независимые от платформы атомарные операции над целыми

числами

 

 

 

QAtomicPointer

Независимые от платформы атомарные операции над указателями

 

 

QFuture

Представляет результат асинхронного вычисления

 

 

QFutureSynchronizer

Класс упрощает синхронизацию QFuture

 

 

QFutureWatcher

Позволяет контролировать QFuture с помощью сигналов и слотов

 

 

QMutex

Сериализация доступа между потоками

 

 

QMutexLocker

Упрощает блокировку и разблокировку мьютексов

 

 

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

ПОДДЕРЖКА ПОТОКОВ В QT И С++: ОСНОВНЫЕ КЛАССЫ

QReadLocker

Упрощает управление блокировками чтения и записи для доступа для

чтения

 

 

 

QReadWriteLock

Блокировка чтения-записи

 

 

QRunnable

Базовый класс для всех выполняемых в отдельном потоке объектов

 

 

QSemaphore

Общий подсчитывающий семафор

 

 

QThread

Независимый от платформы способ управления потоками

 

 

QThreadPool

Управляет коллекцией QThread

 

 

QThreadStorage

Хранение данных потоков

 

 

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

ПОДДЕРЖКА ПОТОКОВ В QT И С++: ОСНОВНЫЕ КЛАССЫ

QWaitCondition Условия для синхронизации потоков

QWriteLocker

Упрощает управление блокировками чтения и записи для доступа к записи

QtConcurrent

Высокоуровневые API, которые позволяют писать многопоточные

программы без использования низкоуровневых примитивов