• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# mutex.h
2
3
4## Overview
5
6The **mutex.h** file declares the mutex interfaces in C.
7
8**File to include**: <ffrt/mutex.h>
9
10**Library**: libffrt.z.so
11
12**System capability**: SystemCapability.Resourceschedule.Ffrt.Core
13
14**Since**: 10
15
16**Related module**: [FFRT](_f_f_r_t.md)
17
18
19## Summary
20
21
22### Functions
23
24| Name| Description|
25| -------- | -------- |
26| FFRT_C_API int [ffrt_mutexattr_init](_f_f_r_t.md#ffrt_mutexattr_init) ([ffrt_mutexattr_t](ffrt__mutexattr__t.md) \*attr) | Initializes the mutex attribute. |
27| FFRT_C_API int [ffrt_mutexattr_settype](_f_f_r_t.md#ffrt_mutexattr_settype) ([ffrt_mutexattr_t](ffrt__mutexattr__t.md) \*attr, int type) | Sets the mutex attribute type. |
28| FFRT_C_API int [ffrt_mutexattr_gettype](_f_f_r_t.md#ffrt_mutexattr_gettype) ([ffrt_mutexattr_t](ffrt__mutexattr__t.md) \*attr, int \*type) | Obtains the mutex type. |
29| FFRT_C_API int [ffrt_mutexattr_destroy](_f_f_r_t.md#ffrt_mutexattr_destroy) ([ffrt_mutexattr_t](ffrt__mutexattr__t.md) \*attr) | Destroys the mutex attribute. This API needs to be called by users. |
30| FFRT_C_API int [ffrt_mutex_init](_f_f_r_t.md#ffrt_mutex_init) ([ffrt_mutex_t](ffrt__mutex__t.md) \*mutex, const [ffrt_mutexattr_t](ffrt__mutexattr__t.md) \*attr) | Initializes a mutex. |
31| FFRT_C_API int [ffrt_mutex_lock](_f_f_r_t.md#ffrt_mutex_lock) ([ffrt_mutex_t](ffrt__mutex__t.md) \*mutex) | Locks a mutex. |
32| FFRT_C_API int [ffrt_mutex_unlock](_f_f_r_t.md#ffrt_mutex_unlock) ([ffrt_mutex_t](ffrt__mutex__t.md) \*mutex) | Unlocks a mutex. |
33| FFRT_C_API int [ffrt_mutex_trylock](_f_f_r_t.md#ffrt_mutex_trylock) ([ffrt_mutex_t](ffrt__mutex__t.md) \*mutex) | Attempts to lock a mutex. |
34| FFRT_C_API int [ffrt_mutex_destroy](_f_f_r_t.md#ffrt_mutex_destroy) ([ffrt_mutex_t](ffrt__mutex__t.md) \*mutex) | Destroys a mutex. |
35