Lock
変数名で論理ロックを取得します。
Synopsis
Lock(varname[,timeout])
引数
varname | ロックする変数の名前。 |
timeout | オプション — ロックを取得するのに待機する秒数を示す数値式。 |
概要
ロックが取得された場合は True を、それ以外の場合は False を返します。
varname でロックが取得されるたびに、この varname に対するロック・カウントはインクリメントされます。Unlock は、このカウントをデクリメントします。ロック・カウントが 0 になったときだけ、論理ロックは解除されます。このため、Lock への呼び出しは対応する Unlock への呼び出しと調整しなければなりません。
timeout が指定されていない場合、Lock はロックが取得されるまで無制限に待機します。timeout を指定すると、ロックを取得するために、timeout で指定された秒数だけ待機します。
例
以下の例では、Lock 関数を使用して、varname の論理ロックが取得されます。タイムアウトは 10 秒に設定されています。
If Lock(^PatientData(PatientID), 10) = True Then
Println "Got the Lock"
Unlock(^PatientData(PatientID))
Else
Println "Couldn't get the lock"
End If
関連項目
-
Unlock 関数