Περιγράψτε με λόγια πώς θα λύνατε το πρόβλημα της προσωρινής αποθήκευσης της τιμής του αυτοκινήτου: δομή δεδομένων, συγχρονισμός, ενημέρωση.
iOS
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) }
Γιατί ο τρέχων κώδικας με άπειρο βρόχο for στο main δεν λειτουργεί; Πώς να το διορθώσετε;
Γιατί ορισμένα ερωτήματα επιστρέφουν μια τιμή που ποτέ δεν υπήρξε (για παράδειγμα, μια ενδιάμεση τιμή μεταξύ της παλιάς και της νέας τιμής);
Πρέπει να γράψετε μια απλή βιβλιοθήκη cache στη μνήμη. type Cache interface { Set(k, v string) Get(k string) (v string, ok bool) }
Γιατί η προσθήκη mutex μόνο για εγγραφή δεν λύνει το πρόβλημα του data race; Πώς χρησιμοποιούμε σωστά ένα mutex για την προστασία μιας κοινής μεταβλητής;