malkusch\lock\mutex\Mutex::check PHP Method

check() public method

Call {@link DoubleCheckedLocking::then()} on the returned object. Example: $mutex->check(function () use ($bankAccount, $amount) { return $bankAccount->getBalance() >= $amount; })->then(function () use ($bankAccount, $amount) { $bankAccount->withdraw($amount); });
public check ( callable $check ) : DoubleCheckedLocking
$check callable
return malkusch\lock\util\DoubleCheckedLocking The double-checked locking pattern.
    public function check(callable $check)
    {
        $doubleCheckedLocking = new DoubleCheckedLocking($this);
        $doubleCheckedLocking->setCheck($check);
        return $doubleCheckedLocking;
    }