HcommChannelNotifyWaitOnThread
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
☓ |
|
☓ |
|
☓ |
针对
功能说明
等待同步信号,阻塞等待Thread的运行,直到指定的Notify完成。
函数原型
1 | int32_t HcommChannelNotifyWaitOnThread(ThreadHandle thread, ChannelHandle channel, uint32_t localNotifyIdx, uint32_t timeout) |
参数说明
参数名 |
输入/输出 |
描述 |
|---|---|---|
thread |
输入 |
通信线程句柄,为通过HcclThreadAcquire接口获取到的threads。 ThreadHandle类型的定义可参见ThreadHandle。 |
channel |
输入 |
通信通道句柄,为通过HcclChannelAcquire接口获取到的channels。 ChannelHandle类型的定义可参见ChannelHandle。 |
localNotifyIdx |
输入 |
本地Notify索引。 取值范围:[0, HcclChannelAcquire接口传入的channelDescs参数中的notifyNum)。 |
timeout |
输入 |
超时时间,单位:毫秒。
|
返回值
int32_t:接口成功返回0,其他失败。
约束说明
无
调用示例
资源初始化相关代码请参见HcommWriteOnThread的调用示例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | void Sample(HcclComm comm, ChannelHandle channel, HcclThread threadHandle, uint32_t rank) { if (rank == 0) { // 发送同步信号 HcommChannelNotifyRecordOnThread(threadHandle, channel, 0); // 等待同步信号 HcommChannelNotifyWaitOnThread(threadHandle, channel, 0, NOTIFY_TIMEOUT); } else { // 发送同步信号 HcommChannelNotifyRecordOnThread(threadHandle, channel, 0); // 等待同步信号 HcommChannelNotifyWaitOnThread(threadHandle, channel, 0, NOTIFY_TIMEOUT); } return; } |
父主题: 通信操作