2.7. Threading model

The library is threads safe. There are three modes of execution, guaranteed to satisfy the most developers' needs: non-threaded, single threaded and thread-per-CPU. For threaded modes of execution, the application might need to use a thread locking mechanism, depending on the data isolation model being used by the application. The library does not provide such functions; however, file "common/mutex.h" contains an example of a portable implementation of thread locking, which is used internally by the library and is guaranteed to work on all supported systems.