Spec-Zone.ru › Qt 5.9

Поддержка потоков в Qt

Qt предоставляет поддержку потоков в виде независимых от платформы классов потоков, безопасного способа отправки событий и соединений сигналов-слотов между потоками. Это упрощает разработку портативных многопоточных приложений Qt и использование многопроцессорных машин. Многопоточная программирование также является полезной парадигмой для выполнения длительных операций без зависания пользовательского интерфейса приложения.

В более ранних версиях Qt была возможность построения библиотеки без поддержки потоков. Начиная с Qt 4.0, потоки всегда включены.

Темы:

Эти статьи предполагают, что читатель имеет базовые знания о многопоточных приложениях.

  • Классы потоков
  • Технологии многопоточности в Qt
  • Синхронизация потоков
  • Взаимовход и безопасность потоков
  • Потоки и QObjects
  • Поддержка потоков в модулях Qt

Классы потоков

Эти классы актуальны для многопоточных приложений.

QtConcurrent

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

Конкурентный фильтр и фильтр-сведение

Конкурентное отображение и отображение-сведение

Конкурентный запуск

QAtomicInteger

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

QAtomicPointer

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

QFuture

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

QFutureSynchronizer

Удобный класс, который упрощает синхронизацию QFuture

QFutureWatcher

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

QMutex

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

QMutexLocker

Удобный класс, который упрощает блокировку и разблокировку мьютексов

QReadLocker

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

QReadWriteLock

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

QWriteLocker

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

QRunnable

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

QSemaphore

Общий счетный семафор

QThread

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

QThreadPool

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

QThreadStorage

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

QWaitCondition

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

Примечание: Классы потоков Qt реализованы с помощью собственных API потоков; например, Win32 и pthreads. Поэтому они могут использоваться с потоками одного и того же собственного API.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/threads.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API