Detailed Description

The Qt Concurrent module contains functionality to support concurrent execution of program code.

The Qt Concurrent module provides high-level APIs that make it possible to write multi-threaded programs without using low-level threading primitives such as mutexes, read-write locks, wait conditions, or semaphores. Programs written with Qt Concurrent automatically adjust the number of threads used according to the number of processor cores available. This means that applications written today will continue to scale when deployed on multi-core systems in the future.

Qt Concurrent includes functional programming style APIs for parallel list processing, including a MapReduce and FilterReduce implementation for shared-memory (non-distributed) systems, and classes for managing asynchronous computations in GUI applications:

  • QFuture represents the result of an asynchronous computation.

  • QFutureIterator allows iterating through results available via QFuture .

  • QFutureWatcher allows monitoring a QFuture using signals-and-slots.

  • QFutureSynchronizer is a convenience class that automatically synchronizes several QFutures.

  • QPromise provides a way to report progress and results of the asynchronous computation to QFuture . Allows suspending or canceling the task when requested by QFuture .

Using the Module

To include the definitions of modules classes, use the following directive:

import PySide6.QtConcurrent