Difference between revisions of "MC-Basic:SEMAPHORETAKE/zh-hans"
(Created page with "{{Languages}} == 缩写 == semTake == 格式 == <''lval''> = SemTake(<''semaphore name''> { , ''<timeout>''}) == 适用版本 == 从版本3.7.x起 == 描述 == SEMTAKE需...") |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{Languages}} | + | {{Languages|MC-Basic:SEMAPHORETAKE}} |
== 缩写 == | == 缩写 == | ||
semTake | semTake | ||
Line 10: | Line 10: | ||
== 描述 == | == 描述 == | ||
− | + | SEMTAKE获取可用于多任务同步的信号量。 如果信号量空闲,则SEMTAKE返回1,信号量标记为“已采用”。 如果信号量已被占用,SEMTAKE返回0,信号量的状态不变。 SEMTAKE可用于阻止同时访问系统中的共享资源或关键用户软件部分。<br> | |
+ | 如果超时,系统将尝试获取指定的时间量的信号量。 | ||
+ | Semtake可以在指定的超时之前返回而不需要获取信号量,因此检查返回值是非常重要的。 | ||
== 类型 == | == 类型 == | ||
Line 16: | Line 18: | ||
== 取值范围 == | == 取值范围 == | ||
− | ''return value:'' 0 = | + | ''return value:'' 0 = 不成功 (信号没有采取) |
− | 1 = | + | 1 = 成功(信号已采取) |
''<timeout>: ''0 to 5000 | ''<timeout>: ''0 to 5000 | ||
− | |||
== 单位 == | == 单位 == | ||
Line 33: | Line 34: | ||
== 限制 == | == 限制 == | ||
− | |||
== 例子 == | == 例子 == | ||
− | While semTake(SEM1,1000) = 0 | + | While semTake(SEM1,1000) = 0 ‘等待释放信号''<br> |
''’wait for resource <br> | ''’wait for resource <br> | ||
Latest revision as of 06:42, 22 January 2018
语言: | English • 中文(简体) |
---|
缩写
semTake
格式
<lval> = SemTake(<semaphore name> { , <timeout>})
适用版本
从版本3.7.x起
描述
SEMTAKE获取可用于多任务同步的信号量。 如果信号量空闲,则SEMTAKE返回1,信号量标记为“已采用”。 如果信号量已被占用,SEMTAKE返回0,信号量的状态不变。 SEMTAKE可用于阻止同时访问系统中的共享资源或关键用户软件部分。
如果超时,系统将尝试获取指定的时间量的信号量。
Semtake可以在指定的超时之前返回而不需要获取信号量,因此检查返回值是非常重要的。
类型
Long
取值范围
return value: 0 = 不成功 (信号没有采取)
1 = 成功(信号已采取)
<timeout>: 0 to 5000
单位
milliseconds
默认值
0
使用范围
任务区, 终端
限制
例子
While semTake(SEM1,1000) = 0 ‘等待释放信号
’wait for resource
End While
REM critical section code
……
……
semTake(SEM1) ‘take the semaphore
semTake(SEM1 , 100 )