mutex.h

概述

声明mutex的C接口。

引用文件: <ffrt/mutex.h>

库: libffrt.z.so

系统能力: SystemCapability.Resourceschedule.Ffrt.Core

起始版本: 10

相关模块: FFRT

汇总

函数

名称 描述
FFRT_C_API int ffrt_mutexattr_init(ffrt_mutexattr_t* attr) 初始化mutex属性。
FFRT_C_API int ffrt_mutexattr_settype(ffrt_mutexattr_t* attr, int type) 设置mutex属性类型。
FFRT_C_API int ffrt_mutexattr_gettype(ffrt_mutexattr_t* attr, int* type) 获取mutex类型。
FFRT_C_API int ffrt_mutexattr_destroy(ffrt_mutexattr_t* attr) 销毁mutex属性,用户需要调用此接口。
FFRT_C_API int ffrt_mutex_init(ffrt_mutex_t* mutex, const ffrt_mutexattr_t* attr) 初始化mutex。
FFRT_C_API int ffrt_mutex_lock(ffrt_mutex_t* mutex) 获取mutex。
FFRT_C_API int ffrt_mutex_unlock(ffrt_mutex_t* mutex) 释放mutex。
FFRT_C_API int ffrt_mutex_trylock(ffrt_mutex_t* mutex) 尝试获取mutex。
FFRT_C_API int ffrt_mutex_destroy(ffrt_mutex_t* mutex) 销毁mutex。

函数说明

ffrt_mutexattr_init()

FFRT_C_API int ffrt_mutexattr_init(ffrt_mutexattr_t* attr)

描述

初始化mutex属性。

起始版本: 12

参数:

参数项 描述
ffrt_mutexattr_t* attr mutex属性指针。

返回:

类型 说明
FFRT_C_API int mutex属性初始化成功返回ffrt_success,
mutex属性初始化失败返回ffrt_error_inval。

ffrt_mutexattr_settype()

FFRT_C_API int ffrt_mutexattr_settype(ffrt_mutexattr_t* attr, int type)

描述

设置mutex属性类型。

起始版本: 12

参数:

参数项 描述
ffrt_mutexattr_t* attr mutex属性指针。
int type mutex类型。

返回:

类型 说明
FFRT_C_API int mutex属性类型设置成功返回ffrt_success,
mutex属性指针是空或者
mutex类型不是ffrt_mutex_normal或ffrt_mutex_recursive返回ffrt_error_inval。

ffrt_mutexattr_gettype()

FFRT_C_API int ffrt_mutexattr_gettype(ffrt_mutexattr_t* attr, int* type)

描述

获取mutex类型。

起始版本: 12

参数:

参数项 描述
ffrt_mutexattr_t* attr mutex属性指针。
int* type mutex类型指针。

返回:

类型 说明
FFRT_C_API int mutex类型获取成功返回ffrt_success,
mutex属性指针或mutex类型指针是空返回ffrt_error_inval。

ffrt_mutexattr_destroy()

FFRT_C_API int ffrt_mutexattr_destroy(ffrt_mutexattr_t* attr)

描述

销毁mutex属性,用户需要调用此接口。

起始版本: 12

参数:

参数项 描述
ffrt_mutexattr_t* attr mutex属性指针。

返回:

类型 说明
FFRT_C_API int mutex属性销毁成功返回ffrt_success,
mutex属性销毁失败返回ffrt_error_inval。

ffrt_mutex_init()

FFRT_C_API int ffrt_mutex_init(ffrt_mutex_t* mutex, const ffrt_mutexattr_t* attr)

描述

初始化mutex。

起始版本: 10

参数:

参数项 描述
ffrt_mutex_t* mutex mutex指针。
const ffrt_mutexattr_t* attr mutex属性指针。

返回:

类型 说明
FFRT_C_API int 初始化mutex成功返回ffrt_success,
初始化mutex失败返回ffrt_error_inval。

ffrt_mutex_lock()

FFRT_C_API int ffrt_mutex_lock(ffrt_mutex_t* mutex)

描述

获取mutex。

起始版本: 10

参数:

参数项 描述
ffrt_mutex_t* mutex mutex指针。

返回:

类型 说明
FFRT_C_API int 获取mutex成功返回ffrt_success,
获取mutex失败返回ffrt_error_inval或者阻塞当前任务。

ffrt_mutex_unlock()

FFRT_C_API int ffrt_mutex_unlock(ffrt_mutex_t* mutex)

描述

释放mutex。

起始版本: 10

参数:

参数项 描述
ffrt_mutex_t* mutex mutex指针。

返回:

类型 说明
FFRT_C_API int 释放mutex成功返回ffrt_success,
释放mutex失败返回ffrt_error_inval。

ffrt_mutex_trylock()

FFRT_C_API int ffrt_mutex_trylock(ffrt_mutex_t* mutex)

描述

尝试获取mutex。

起始版本: 10

参数:

参数项 描述
ffrt_mutex_t* mutex mutex指针。

返回:

类型 说明
FFRT_C_API int 获取mutex成功返回ffrt_success,
获取mutex失败返回ffrt_error_inval或ffrt_error_busy。

ffrt_mutex_destroy()

FFRT_C_API int ffrt_mutex_destroy(ffrt_mutex_t* mutex)

描述

销毁mutex。

起始版本: 10

参数:

参数项 描述
ffrt_mutex_t* mutex mutex指针。

返回:

类型 说明
FFRT_C_API int 销毁mutex成功返回ffrt_success,
销毁mutex失败返回ffrt_error_inval。