---
title: 函数：value_wait
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclpythondevg_01_1069.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclpythondevg_01_1069.html
indexId: b696b677da8863e4726b4d549ca63879dc1cdafd5daa10ca802a2a26a3f56c3471
---
# 函数：value_wait

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
| Atlas 推理系列产品 | x |
| Atlas 200I/500 A2 推理产品 | x |


#### 功能说明

等待指定内存中的数据满足一定条件后解除阻塞。


#### 函数原型

- C函数原型

```
aclError aclrtValueWait(void* devAddr, uint64_t value, uint32_t flag, aclrtStream stream)
```


- python函数
  1 ret = acl.rt.value_wait(devAddr, value, flag, stream)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| devAddr | int，Device侧内存地址。 dev\_addr的有效内存位宽为64bit。 |
| value | int，需与内存中的数据作比较的值。 |
| flag | int，比较的方式，等满足条件后解除阻塞。取值如下： ACL\_STREAM\_WAIT\_VALUE\_GEQ = 0x0; \# 等到(int64\_t)(\*devAddr \- value) >= 0 ACL\_STREAM\_WAIT\_VALUE\_EQ = 0x1; \# 等到\*devAddr == value ACL\_STREAM\_WAIT\_VALUE\_AND = 0x2; \# 等到(\*devAddr & value) != 0 ACL\_STREAM\_WAIT\_VALUE\_NOR = 0x3; \# 等到~(\*devAddr \| value) != 0 |
| stream | int，指定stream。此处支持传0，表示使用默认Stream。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| ret | int，错误码，返回0表示成功，返回其它值表示失败。 |
