1.5.1 ARM C libraries and multithreading

The ARM® C libraries support multithreading, for example, where you are using a Real-Time Operating System (RTOS).

In this context, the following definitions are used:
Threads
Mean multiple streams of execution sharing global data between them.
Process
Means a collection of all the threads that share a particular set of global data.
If there are multiple processes on a machine, they can be entirely separate and do not share any data (except under unusual circumstances). Each process might be a single-threaded process or might be divided into multiple threads.
Where you have single-threaded processes, there is only one flow of control. In multithreaded applications, however, several flows of control might try to access the same functions, and the same resources, concurrently. To protect the integrity of resources, any code you write for multithreaded applications must be reentrant and thread-safe.
Reentrancy and thread safety are both related to the way functions in a multithreaded application handle resources.
Related concepts
1.5.2 ARM C libraries and reentrant functions
1.5.3 ARM C libraries and thread-safe functions
Related reference
1.5.10 Using the ARM C library in a multithreaded environment
Non-ConfidentialPDF file icon PDF versionARM DUI0378G
Copyright © 2007, 2008, 2011, 2012, 2014, 2015 ARM. All rights reserved.