1# condition_variable.h
2
3
4## Overview
5
6The **condition_variable.h** file declares the condition variable interfaces in C.
7
8**Since**: 10
9
10**Related module**: [FFRT](_f_f_r_t.md)
11
12
13## Summary
14
15
16### Functions
17
18| Name| Description|
19| -------- | -------- |
20| FFRT_C_API int [ffrt_cond_init](_f_f_r_t.md#ffrt_cond_init) ([ffrt_cond_t](ffrt__cond__t.md)\* cond, const [ffrt_condattr_t](ffrt__condattr__t.md)\* attr) | Initializes a condition variable. |
21| FFRT_C_API int [ffrt_cond_signal](_f_f_r_t.md#ffrt_cond_signal) ([ffrt_cond_t](ffrt__cond__t.md)\* cond) | Unblocks at least one of the threads that are blocked on a condition variable. |
22| FFRT_C_API int [ffrt_cond_broadcast](_f_f_r_t.md#ffrt_cond_broadcast) ([ffrt_cond_t](ffrt__cond__t.md)\* cond) | Unblocks all threads currently blocked on a condition variable. |
23| FFRT_C_API int [ffrt_cond_wait](_f_f_r_t.md#ffrt_cond_wait) ([ffrt_cond_t](ffrt__cond__t.md)\* cond, [ffrt_mutex_t](ffrt__mutex__t.md)\* mutex) | Blocks the calling thread on a condition variable. |
24| FFRT_C_API int [ffrt_cond_timedwait](_f_f_r_t.md#ffrt_cond_timedwait) ([ffrt_cond_t](ffrt__cond__t.md)\* cond, [ffrt_mutex_t](ffrt__mutex__t.md)\* mutex, const struct timespec\* time_point) | Blocks the calling thread on a condition variable for a given duration. |
25| FFRT_C_API int [ffrt_cond_destroy](_f_f_r_t.md#ffrt_cond_destroy) ([ffrt_cond_t](ffrt__cond__t.md)\* cond) | Destroys a condition variable. |
26