# OS_InitThread

## Syntax

      #include <nitro/os.h>

      void OS_InitThread( void );

## Arguments

None.

## Return Values

None.

## Description

Initializes the thread library.
When using a thread system, call this function once (and only once) before creating threads.

By calling this function, the application itself will be treated as a thread started from the `NitroMain` function with a priority of 16. (This is called the "launcher thread" in the function reference manual and in various other documentation.) DTCM is normally used for this thread's stack.

An idle thread is created when the thread system is initialized. This is a special thread with a priority of 32, a lower priority than any other thread. The user can set all other threads to a priority in the range 0-31. The idle thread does nothing and loops in Halt status.

## See Also

`OS_CreateThread`
`OS_ExitThread`
`OS_WakeupThread`
`OS_WakeupThreadDirect`

## Revision History

2005/04/11 Corrected the description of application state after calling and added a note about launcher threads.
2004/04/27 Added a description of the idle thread.
2004/02/26 Added a description of the priority of the starting thread.
2003/12/01 Initial version.

CONFIDENTIAL