Postingan lainnya
Alur eksekusi gorountine
Permisi, saya mau bertanya. Ketika saya menjalankan kode dibawah, satunya goroutine dan satunya tidak. Apakah fungsi salam("b") akan menunggu fungsi salam("a") terlebih dahulu dicetak karena dia tidak pakai goroutine? Sedangkan salam("a") tidak akan menunggu salam("b") Saya sedikit bingung dibagian sini. Terima kasih
code.png
Tanggapan
apa yang terjadi saat programnya kamu coba jalankan?
1 Jawaban:
<div>Tidak. Intinya tidak menunggu satu sama lain.<br><br>Menjalankan goroutine mirip seperti membuat alur eksekusi yang baru di dalam program (memisahkan diri dari thread awal), tetapi ia masih dapat mengakses variabel atau fungsi-fungsi yang ada di dalam scopenya, sehingga diperlukan sinkronisasi ketika mengakses variabel dengan menggunakan mekanisme-mekanisme tertentu (mutex, channel) agar tidak terjadi data race</div>