# 介面鎖定

本章相關介面用於鎖定所有 API 介面，讓您可以鎖定介面，使其僅供當前的 Device 實例使用，以防止 API 被其他使用者或行程使用。您可以設定預設的鎖定時長，或自行定期更新鎖。建議採用定期更新的方式，您也可以主動釋放介面鎖。穩妥的鎖定流程為：取得鎖 -> 建立執行緒定期更新鎖 -> 釋放鎖。

## 取得鎖

取得鎖，此鎖將在 60 秒後自動釋放。自動釋放後，其他用戶端將可以取得鎖。您可以更改此時間，但如果設定得太高，當腳本異常退出時，您將幾乎永遠無法連接裝置，可能需要重新啟動裝置才能繼續連線。此介面可重入，重入時等同於 _refresh_lock。

```python
d._acquire_lock(leaseTime=60)
```

## 釋放鎖

主動釋放 API 鎖，之後其他用戶端便可以取得鎖。

```python
d._release_lock()
```

## 更新鎖

更新鎖，每次呼叫後會將鎖的過期時間設為此 leaseTime。定期呼叫此介面以保持 API 鎖定。同樣地，如果 leaseTime 設定得太高，當腳本異常退出時，您將幾乎永遠無法連接裝置。

```python
d._refresh_lock(leaseTime=60)
```