Spec-Zone.ru › Qt 5.11

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

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

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

Темы:

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

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

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

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

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

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

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

QAtomicInteger

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

QAtomicPointer

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

QFuture

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

QFutureSynchronizer

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

QFutureWatcher

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

QMutex

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

QMutexLocker

Класс-утилита, упрощающий блокировку и разблокировку мьютексов

QReadLocker

Класс-утилита, упрощающий блокировку и разблокировку блокировок чтения-записи для доступа в чтении

QReadWriteLock

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

QRunnable

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

QSemaphore

Общее семафор со счётчиком

QSemaphoreReleaser

Безопасный от исключений отложенный вызов QSemaphore::release()

QThread

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

QThreadPool

Управляет набором QThreads

QThreadStorage

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

QWaitCondition

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

QWriteLocker

Класс-утилита, упрощающий блокировку и разблокировку блокировок чтения-записи для доступа в записи

QtConcurrent

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

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

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

Spec-Zone.ru

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