- Qt 6.6
- Threading and Concurrent Programming Examples
- Qt 6.6.1 Reference Documentation

# Threading and Concurrent Programming Examples

Qt makes it easy to write multithreaded applications. Signals and slots can be used to safely communicate between threads in your application.

Mandelbrot | Mandelbrot example demonstrates multi-thread programming using Qt. It shows how to use a worker thread to perform heavy computations without blocking the main thread's event loop
Producer and Consumer using Semaphores | Producer and Consumer using Semaphores example shows how to use QSemaphore to control access to a circular buffer shared by a producer thread and a consumer thread
Producer and Consumer using Wait Conditions | Producer and Consumer using Wait Conditions example shows how to use QWaitCondition and QMutex to control access to a circular buffer shared by a producer thread and a consumer thread
Queued Custom Type | Queued Custom Type example shows how to send custom types between threads with queued signals and slots

The QtConcurrent namespace includes a collection of classes and functions for straightforward concurrent programming.

These examples show how to apply the basic techniques of concurrent programming to simple problems.

Image Scaling | Demonstrates how to asynchronously download and scale images
Prime Counter | Demonstrates how to monitor the progress of concurrent operations
Word Count | Demonstrates how to use the map-reduce algorithm

Examples marked with an asterisk (*) are fully documented.