malkusch\lock\util\DoubleCheckedLocking::setCheck PHP Method

setCheck() public method

Sets the check.
public setCheck ( callable $check )
$check callable The check.
    public function setCheck(callable $check)
    {
        $this->check = $check;
    }

Usage Example

Beispiel #1
0
 /**
  * Performs a double-checked locking pattern.
  *
  * Call {@link DoubleCheckedLocking::then()} on the returned object.
  *
  * Example:
  * <code>
  * $mutex->check(function () use ($bankAccount, $amount) {
  *     return $bankAccount->getBalance() >= $amount;
  *
  * })->then(function () use ($bankAccount, $amount) {
  *     $bankAccount->withdraw($amount);
  * });
  * </code>
  *
  * @return DoubleCheckedLocking The double-checked locking pattern.
  */
 public function check(callable $check)
 {
     $doubleCheckedLocking = new DoubleCheckedLocking($this);
     $doubleCheckedLocking->setCheck($check);
     return $doubleCheckedLocking;
 }