AllocMutexID (ISASI)
产品支持情况
功能说明
从框架获取并占用一个MutexID,与ReleaseMutexID配合使用,管理MutexID的获取和释放。获取的MutexID可以传入Mutex::Lock/Unlock接口使用,此时Mutex::Lock/Unlock可以与TQue等其他接口配合使用。
函数原型
__aicore__ inline MutexID AllocMutexID()
参数说明
无
返回值说明
返回MutexID,其类型定义如下,每个ID表示一个Mutex锁。
using MutexID = uint8_t;
约束说明
MutexID有数量限制,使用结束应该立刻调用ReleaseMutexID释放,防止MutexID耗尽。
调用示例
MutexID id = AllocMutexID();
Mutex::Lock<PIPE_MTE2>(id);
DataCopy(local, gm, 1024);
Mutex::Unlock<<PIPE_MTE2>(id);
Mutex::Lock<PIPE_V>(id);
Adds(local, local, 1, 1024);
Mutex::Unlock<PIPE_V>(id);
ReleaseMutexID(id);