Назад к вопросам
МВидео
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
}
Таким образом, состояние в системе — это текущее количество товара, отражающее все операции прихода и расхода.