Field Manual PHP / Laravel reference
← Engineering

Concurrency

Concurrency means operations overlap and can act on stale state.

What it is

Concurrency means operations overlap and can act on stale state.

When to use it

Protect shared invariants using constraints, locks, or conditional updates.

Syntax

UPDATE accounts SET balance_cents = balance_cents - ?
WHERE id = ? AND balance_cents >= ?;

Example

// Laravel conditional update:
$changed = DB::table("accounts")->where("id", $id)
    ->where("balance_cents", ">=", $amountCents)
    ->decrement("balance_cents", $amountCents);
if ($changed !== 1) throw new InsufficientFunds();

Common mistakes

Checking a balance then updating without protection races; group related writes in a transaction.

Related topics

Concurrency