Describa en palabras cómo resolvería el problema de la caché del precio del coche: estructura de datos, sincronización, actualización.
iOS
¿Por qué el código actual con un bucle infinito for en main no funciona? ¿Cómo corregirlo?
func getCarPrice() int64 { time.Sleep(1 * time.Second) return rand.Int63n(1000) } func main() { http.HandleFunc("/car/instant", func(resp http.ResponseWriter, req *http.Request) { fmt.Fprintf(resp, "%d", 0) }) http.ListenAndServe(":8080", nil) }
Necesitas escribir una biblioteca simple de caché en memoria. type Cache interface { Set(k, v string) Get(k string) (v string, ok bool) }
¿Por qué algunas consultas devuelven un precio que nunca existió (por ejemplo, un valor intermedio entre el precio antiguo y el nuevo)?
¿Por qué agregar mutex solo para escritura no resuelve el problema de la carrera de datos? ¿Cómo usar correctamente un mutex para proteger una variable compartida?