tkl_mutex | Mutex 互斥锁
文件 tkl_mutex.c 用于创建和管理互斥锁,在嵌入式系统或多任务操作系统中,能够确保资源的同步访问。文件中定义的函数能够创建互斥锁、加锁、尝试加锁、解锁以及销毁互斥锁。该文件是由涂鸦操作系统(TuyaOS)自动生成的,并且允许开发者在指定区域添加或修改代码实现。
API 说明
tkl_mutex_create_init
OPERATE_RET tkl_mutex_create_init(TKL_MUTEX_HANDLE *handle);
-
功能:创建并初始化一个互斥锁。
-
参数:
handle为输出参数,用于存储创建的互斥锁句柄。 -
返回值:
OPRT_OK表示成功创建互斥锁,其他值则表示发生错误。详细错误代码请参考tuya_error_code.h。
tkl_mutex_lock
OPERATE_RET tkl_mutex_lock(const TKL_MUTEX_HANDLE handle);
-
功能:锁定一个互斥锁。如果互斥锁已被其他任务锁定,调用此函数的任务会被挂起,直到互斥锁可用。
-
参数:
handle为输入参数,互斥锁句柄。 -
返回值:
OPRT_OK则表示成功锁定互斥锁,失败时返回相应的错误代码。详细错误代码请参考tuya_error_code.h。
tkl_mutex_trylock
OPERATE_RET tkl_mutex_trylock(const TKL_MUTEX_HANDLE mutexHandle);
-
功能:尝试锁定一个互斥锁,但不会因互斥锁被占用而挂起调用任务。
-
参数:
mutexHandle为输入参数,互斥锁句柄。 -
返回值:
OPRT_OK则表示成功尝试锁定互斥锁,其他值则表示发生错误。详细错误代码请参考tuya_error_code.h。
tkl_mutex_unlock
OPERATE_RET tkl_mutex_unlock(const TKL_MUTEX_HANDLE handle);
-
功能:解锁一个已锁定的互斥锁。
-
参数:
handle为输入参数,互斥锁句柄。 -
返回值:
OPRT_OK表示成功解锁互斥锁,其他值则表示发生错误。详细错误代码请参考tuya_error_code.h。
tkl_mutex_release
OPERATE_RET tkl_mutex_release(const TKL_MUTEX_HANDLE handle);
-
功能:释放并删除一个互斥锁。
-
参数:
handle为输入参数,互斥锁句柄。 -
返回值:
OPRT_OK表示成功释放资源,其他值则表示发生错误。详细错误代码请参考tuya_error_code.h。