A program can dynamically create threads using the appropriate kernel API calls. These threads are subsequently executed in parallel with the main thread and any other threads. Each thread has its own stack, a priority between 1 and 64, and a task state.
All threads have access to the program's global data.
Thus, shared code and shared data are inherently implemented by RTKernel-32. RTKernel-32 supports counting, binary, event, resource, and mutex semaphores. Resource and mutex semaphores implement priority inheritance. The maximum number and size of messages can be configured for each mailbox. High priority messages can be sent to a mailbox ahead of all others.