Sobes.tech
Назад к вопросам
Senior
5

Привезли 20 мясорубок, 5 отгрузили — сколько осталось на складе и каково актуальное состояние в системе?

Компании, где спрашивали
МВидеоМВидео

Ответ от нейросети

sobes.tech AI

Если привезли 20 мясорубок и отгрузили 5, то на складе осталось 15 мясорубок.

Актуальное состояние в системе должно отражать это количество — например, в базе данных или в памяти приложения должно быть значение 15 для доступного запаса.

Важно обеспечить атомарность операции обновления состояния, чтобы избежать рассинхронизации. Например, если отгрузка и приемка происходят параллельно, нужно использовать механизмы синхронизации или транзакции, чтобы итоговое количество было корректным.

Пример на Go с использованием мьютекса для защиты состояния:

var (
    stock = 20
    mu    sync.Mutex
)

func ship(amount int) {
    mu.Lock()
    defer mu.Unlock()
    if stock >= amount {
        stock -= amount
    } else {
        // обработка ошибки: недостаточно товара
    }
}

func main() {
    ship(5)
    fmt.Println("Остаток на складе:", stock) // 15
}

Таким образом, состояние в системе — это текущее количество товара, отражающее все операции прихода и расхода.