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.
Deklarasi counter int dan mu sync.Mutex di level package.
Buat fungsi increment() yang:
Lock mutex dengan mu.Lock()
defer mu.Unlock()
Naikkan counter++
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
Periksa apakah variabel sudah dideklarasikan dengan := dan tipe yang benar. Gunakan fmt.Println untuk output.
Go tidak punya while — gunakan for sebagai gantinya. for condition {} sama dengan while di bahasa lain.
Pastikan return type fungsi sesuai dan setiap path mengembalikan nilai. Go strict soal unused variables dan imports.
HyperSheets
bagian dari BelajarWeb.dev
🔄
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...