A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/classIAppTask.html below:

NCBI C++ ToolKit: IAppTask Class Reference

IAppTask.

IAppTask represents an Application Task that can be executed in Application Task Manager. Application Tasks correspond to application-level commands or operations, it is recommended that various application functions are packaged as tasks. The functionality of an application can be easily extended by declaring new types of Tasks.

Tasks can consist of other tasks, the parent task can control execution of the child tasks. Such composite tasks can be used to implement complex “macro” operations or scripts – scenarios that combine atomic tasks.

Task Manager executes tasks on the main UI thread. Execution on the main UI thread guarantees that Tasks do not overlap in time what reduces risks of concurrency problems. It also ensures ability of a Task to interact with UI (show dialogs, communicate with views) which is only safe from the main UI thread.

Tasks can involve computations on background threads, in that case a task shall launch a background job and wait until it finishes or exits with “Backgrounded” status. Task Manager places backgrounded tasks aside where they can wait completion of the associated jobs running asynchronously. When background part of execution is completed a Task shall notify Task Manager, then Task Manager will schedule the Task for execution on the main UI thread. A Task can go to backgrounded state more than once.

A Task must be thread-safe relative to its IAppTask interface, i.e. any calls to IAppTask from the main UI thread should be safe even if not synchronized externaly.

Definition at line 82 of file app_task.hpp.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4