TaskTree: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
TaskTree automatically manages a chain (or a tree) of asynchronous tasks of mixed types.
TaskTree automatically manages a chain (or a tree) of asynchronous tasks of mixed types.


The recipe on how to run the conglomerate of tasks is described in a declarative way in C++.
The recipe on how to run and manage the conglomerate of tasks is described in a declarative way in C++.


The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.
The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.

Revision as of 14:31, 18 September 2023


TaskTree - generic solution for automatic management of asynchronous task (C++)

TaskTree automatically manages a chain (or a tree) of asynchronous tasks of mixed types.

The recipe on how to run and manage the conglomerate of tasks is described in a declarative way in C++.

The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.

The TaskTree is currently broadly used in QtCreator, for executing Build / Deploy configurations, Locator filter, Clang tool, Autotests, and much more...

The TaskTree's implementation is separated from the QtCreator specific code and may already serve as a general purpose solution outside of QtCreator.

More Info

Content Link Additional Info
Documentation https://doc-snapshots.qt.io/qtcreator-extending/taskingsolution-module.html
Sources https://github.com/qt-creator/qt-creator/tree/master/src/libs/solutions/tasking
Autotests https://github.com/qt-creator/qt-creator/tree/master/tests/auto/solutions/tasking
Demo https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/demo
ImageScaling https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/imagescaling An alternative implementation of https://doc.qt.io/qt-6/qtconcurrent-imagescaling-example.html using TaskTree
ImageScaling diff https://codereview.qt-project.org/c/qt-creator/qt-creator/+/481573 Difference in the implementation of the ImageScaling example using QFuture::then() and TaskTree
Suggestions https://bugreports.qt.io/browse/QTCREATORBUG-28741