Latihan 1: Mutex & sync package — Go

Latihan 1 dari materi Mutex & sync package di Go — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Buat counter yang aman untuk concurrent access.

  1. Deklarasi counter int dan mu sync.Mutex di level package.
  2. Buat fungsi increment() yang:
    • Lock mutex dengan mu.Lock()
    • defer mu.Unlock()
    • Naikkan counter++
  3. Di main():
    • Gunakan sync.WaitGroup
    • Spawn 100 goroutine, masing-masing panggil increment() 10 kali
    • Tunggu semua selesai dengan wg.Wait()
    • Cetak "Counter: 1000"

Tanpa mutex, nilainya akan sering kurang dari 1000. Dengan mutex, selalu tepat 1000.

Hint