Mengenal Sync Cond Pada Golang

Mengenal Sync Cond Pada Golang

Pengenalan sync.Cond

sync.Cond adalah proses locking yang digunakan dengan kondisi tertentu. sync.Cond dalam paket sinkronisasi Golang mengimplementasikan variabel kondisional yang dapat digunakan dalam skenario dimana banyak reader sedang menunggu sumber daya berbarengan. Cond pooling point: beberapa goroutine menunggu, 1 event notifikasi goroutine terjadi. Setiap Cond diasosiasikan dengan Lock **(sync. Mutex atau sync.RWMutex) yang harus ditambahkan saat memodifikasi kondisi atau memanggil metode wait(), untuk melindungi kondisi.

Mengenal Sync Once Pada Golang

Mengenal Sync Once Pada Golang

Pengenalan sync.Once

Fitur ini pada Golang bisa kita gunakan untuk memasikan sebuah function dilakukan eksekusi hanya dalam satu kali saja. Kadang kalau kita sudah memiliki banyak goroutine yang sedang mengakses, maka dengan sync.Once ini bisa dipastikan hanya goroutine yang memiliki akses pertama yang bisa mengeksekusi function tersebut. Maka jika ada goroutine lain yang sedang berjalan tidak akan melakukan eksekusi dan menghiraukan fungsi tersebu.

Mengenal Sync Map Pada Golang

Mengenal Sync Map Pada Golang

Pengenalan sync.Map

sync.Map ini sebenarnya mirip sekali dengan Generic Golangnya map biasa, namun yang membedakan map ini aman untuk digunakan saat concurrent goroutine.

Mengenal Sync Pool Pada Golang

Mengenal Sync Pool Pada Golang

Pengenalan sync.Pool

sync.Pool sering kita dengar saat implementasi design patter yaitu bernama Object Pool Pattern. Pool adalah sekumpulan objek sementara yang dapat disimpan dan diambil secara individual. Sebuah Pool aman untuk digunakan oleh beberapa goroutine secara bersamaan.

Mengenal WaitGroup Pada Golang

Mengenal WaitGroup Pada Golang

Perkenalan

Waitgroup adalah fitur dari Golang yang digunakan untuk menunggu sebuah proses yang dilakukan oleh beberapa goroutine. Hal ini dilakukan dikarenakan kita perlu melakukan proses secara bersamaan tetapi ketika akan melanjutkan proses selanjutnya kita membutuhkan data dari hasil sebelumnya akhirnya kita harus menunggu terlebih dahulu dari proses sebelumnya untuk mendapatkan datanya.

Mengenal Deadlock Dan Cara Mengatasinya Pada Golang

Mengenal Deadlock Dan Cara Mengatasinya Pada Golang

Pengenalan

Salah satu masalah yang terjadi ketika menggunakan concurrent atau paralel yaitu sistem deadlock. Apa itu deadlock? Deadlock adalah kejadian dimana sebuah proses concurrent atau goroutine saling menunggu (lock) sehingga tidak ada satupun goroutine yang bisa berjalan. Maka hati-hati bagi Anda jika membuat aplikasi atau program yang mengimplementasikan mutex lock and unlock dengan menggunakan goroutine. Baiklah kita akan coba saja langsung bagaimana simulasi pada program golang ketika terjadi deadlock.

Cara Membuat RW Mutex Dan Kegunaanya Pada Golang

Cara Membuat RW Mutex Dan Kegunaanya Pada Golang

Pengenalan Sync.RWMutex

Setelah kita pernah mempelajari Pengenalan dan Pembuatan `Mutex` pada postingan sebelumnya, lalu kita akan lanjut ke tahap selanjutnya yaitu pengenalan RWMutex. Nah apa bedanya dengan yang sebelumnya?

Cara Membuat Mutex Dan Kegunaannya Pada Golang

Cara Membuat Mutex Dan Kegunaannya Pada Golang

Pengenalan Sync.Mutex

Mutex atau kepanjangan dari Mutual Exclusion adalah suatu cara untuk mengatasi race condition di dalam bahasa Golang. Mutex bisa digunakan untuk melakukan locking and unlocking terhadap suatu mutex sehingga jika sudah di lock maka tidak akan bisa melakukan locking lagi sampai kita melakukan unlocking.

Cara Koneksi Golang Dengan Database MS SQL Server

Cara Koneksi Golang Dengan Database MS SQL Server

Dependency

Pastikan sudah buat projek dengan go mod init mssql-go pada folder mssql-go dan dependency yang akan kita pakai yaitu menggunakan

Cara Koneksi Golang Dengan Mongodb

Cara Koneksi Golang Dengan Mongodb

Dependecy yang dibutuhkan

Menambahkan beberapa dependency yang digunakan

"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"

Membuat Koneksi Database

membuat fungsi koneksi database ke dalam mongodb.

Cara Koneksi Golang Dengan Database Postgres

Cara Koneksi Golang Dengan Database Postgres

Dependency

Pastikan sudah buat projek dengan go mod init postgres-go pada folder postgres-go dan dependency yang akan kita pakai yaitu menggunakan

Cara Komunikasi Golang Dengan Database Mysql

Cara Komunikasi Golang Dengan Database Mysql

Package atau Library

import  "github.com/go-sql-driver/mysql"

Inisialisasi Projek

Siapkan folder baru dengan nama mysql-native, lalu buat inisialisasi module golang agar lebih termodular. Berikut perintah cepatnya.