Sobes.tech
Junior — Middle

Mi a fő szerepe a sync.Once típusnak a szálak szinkronizálásában Go-ban?

sobes.tech MI

Válasz az MI-től

A sync.Once típus Go nyelven arra szolgál, hogy garantálja, hogy egy adott kódrészlet pontosan egyszer fusson le, még akkor is, ha több szál (goroutine) hívja meg.

Fő feladata az erőforrások biztonságos inicializálása (például singleton létrehozása), hogy elkerüljük a versenyhelyzeteket és az ismételt végrehajtást.

Használati példa:

var once sync.Once
var config *Config

func loadConfig() {
    config = &Config{/* inicializálás */}
}

func GetConfig() *Config {
    once.Do(loadConfig) // loadConfig csak egyszer hívódik meg
    return config
}

Így a sync.Once biztosítja, hogy egy függvény szálbiztosan, csak egyszer fusson le.