Senior
20 húsdarálót szállítottak, 5-öt kiszállítottak — mennyi maradt raktáron és mi a rendszer aktuális állapota?
sobes.tech MI
Válasz az MI-től
Ha 20 darálógépet hoztak be, és 5-öt kiszállítottak, akkor a raktárban 15 darálógép maradt.
A rendszer aktuális állapotának tükröznie kell ezt a mennyiséget — például az adatbázisban vagy az alkalmazás memóriájában az elérhető készlet értéke 15 legyen.
Fontos az állapot frissítési művelet atomosságának biztosítása, hogy elkerüljük a szinkronizációs problémákat. Például, ha a kiszállítás és a fogadás párhuzamosan történik, akkor szinkronizációs mechanizmusokat vagy tranzakciókat kell alkalmazni, hogy a végső mennyiség helyes legyen.
Go nyelven mutex használatával védett állapot példája:
var (
stock = 20
mu sync.Mutex
)
func ship(amount int) {
mu.Lock()
defer mu.Unlock()
if stock >= amount {
stock -= amount
} else {
// hiba kezelése: nem elég a készlet
}
}
func main() {
ship(5)
fmt.Println("Raktárban maradt:", stock) // 15
}
Így a rendszer állapota a termék aktuális mennyisége, amely tükrözi az összes be- és kiadási műveletet.