C++Tingkat: Lanjutan7 min

Multi-threading Native (std::thread & std::mutex)

Manfaatkan seluruh core prosesor modern dengan multi-threading native C++11, sinkronisasi memori dengan std::mutex, dan pencegahan race conditions.

Eksekusi Thread Simultan & Proteksi Mutex

Pratinjau Terbuka

Ketika beberapa thread memodifikasi memori yang sama secara bersamaan, terjadi kondisi perlombaan data (data race). Gunakan std::mutex dan std::lock_guard untuk menjamin akses saling eksklusif yang aman.

Contoh Kode Sintaks
#include <iostream>
#include <thread>
#include <mutex>
#include <vector>

std::mutex g_kunciMemori;
int g_counterGlobal = 0;

void tambahData(int idWorker) {
    for (int i = 0; i < 1000; ++i) {
        // Lock guard otomatis melepas kunci saat keluar blok
        std::lock_guard<std::mutex> proteksi(g_kunciMemori);
        g_counterGlobal++;
    }
}

int main() {
    std::thread t1(tambahData, 1);
    std::thread t2(tambahData, 2);

    // Menunggu kedua thread selesai eksekusi
    t1.join();
    t2.join();

    std::cout << "Nilai Akhir Counter: " << g_counterGlobal << std::endl;
    return 0;
}

Live Compiler Runner

Akses Kursus Wajib Login

Buka Akses Penuh Silabus & Praktikum

Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.

145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi