In order to provide an abstraction layer between the operating system and ADTF Components, ADTF provides a so called Kernel Service. This Service provides methods for thread, timer and signal handling in a universal manner. The added layer allows fine-grained control of the different scheduling and timing settings used in all ADTF components at a single point, enabling the user to change these settings at run-time and configuration-time in contrast to hardcoded settings during compile-time.
The Trigger Function concept of ADTF 3 eliminates the need for common Filter developers to use this functionality directly, as thread and timer definitions are handled via the ADTF Graph defintion. As a matter of fact, the use of this API or any other threading API in Filters is strongly discouraged!
For developing ADTF system components (services, I/O Components, ...) the functionality is available via the IKernel interface, but developers are encouraged to use the kernel_thread template class that is a drop-in replacement for the std::thread template and the kernel_timer template class.