---
title: "lock(whenCondition:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nsconditionlock/lock(whencondition:)"
---

# lock(whenCondition:)

Attempts to acquire a lock.

## Declaration

```swift
func lock(whenCondition condition: Int)
```

## Parameters

- `condition`: The condition to match on.

## Discussion

Discussion The receiver’s condition must be equal to condition before the locking operation will succeed. This method blocks the thread’s execution until the lock can be acquired.

## See Also

### Acquiring and Releasing a Lock

- [lock(before:)](foundation/nsconditionlock/lock(before:).md)
- [lock(whenCondition:before:)](foundation/nsconditionlock/lock(whencondition:before:).md)
- [try()](foundation/nsconditionlock/try().md)
- [tryLock(whenCondition:)](foundation/nsconditionlock/trylock(whencondition:).md)
- [unlock(withCondition:)](foundation/nsconditionlock/unlock(withcondition:).md)
