Spec-Zone.ru › Qt 5.6

Поддержка потоков в 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/archives/qt-5.6/threads.html

Spec-Zone.ru

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