0Pricing
Java Academy · Pelajaran

Variabel Atomik dan Koleksi Konkuren

Pelajari penggunaan variabel atomik dan koleksi konkuren untuk keamanan thread.

Variabel Atomik dan Koleksi Konkuren adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 3 pelajaran total.

Pendahuluan

Variabel atomik dan koleksi konkuren menyederhanakan pemrograman yang aman untuk utas.

AtomicInteger

AtomicInteger menyediakan operasi penambahan atomik, pengurangan, dan bandingkan-dan-tetapkan.

Kode: AtomicInteger

AtomicInteger memastikan pembaruan aman untuk utas tanpa kunci eksplisit.

import java.util.concurrent.atomic.*;public class Main {
  public static void main(String[] args) throws Exception {
    AtomicInteger count = new AtomicInteger(0);
    Thread t1 = new Thread(() -> { for(int i=0;i<1000;i++) count.incrementAndGet(); });
    Thread t2 = new Thread(() -> { for(int i=0;i<1000;i++) count.incrementAndGet(); });
    t1.start(); t2.start();
    t1.join(); t2.join();
    System.out.println("Count = " + count.get());
  }
}

Koleksi konkuren

Koleksi konkuren seperti ConcurrentHashMap atau CopyOnWriteArrayList menangani akses bersamaan dengan aman.

Kode: ConcurrentHashMap

ConcurrentHashMap memungkinkan penulisan dan pembacaan bersamaan yang aman.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) throws Exception {
    ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
    Thread t1 = new Thread(() -> { map.put("A", 1); });
    Thread t2 = new Thread(() -> { map.put("B", 2); });
    t1.start(); t2.start();
    t1.join(); t2.join();
    System.out.println(map);
  }
}

Kode: CopyOnWriteArrayList

CopyOnWriteArrayList mencegah ConcurrentModificationException selama iterasi.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) {
    CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
    list.add("Hello");
    list.add("World");
    for(String s : list) {
      list.add("Extra"); // safe even during iteration
      System.out.println(s);
    }
  }
}

Pemeriksaan atomik/konkuren

Pemeriksaan singkat: Mengapa menggunakan AtomicInteger, bukan int biasa, saat menjalankan beberapa utas?

Ringkasan

Ringkasan: Gunakan kelas atomik untuk penghitung yang aman bagi utas dan koleksi konkuren untuk struktur data bersama yang aman.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Variabel Atomik dan Koleksi Konkuren” gratis?

Ya — teks lengkap “Variabel Atomik dan Koleksi Konkuren” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Variabel Atomik dan Koleksi Konkuren”?

Pelajari penggunaan variabel atomik dan koleksi konkuren untuk keamanan thread. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Java Academy?

Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 3.

Berapa lama pelajaran “Variabel Atomik dan Koleksi Konkuren” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Sinkronisasi dan Kunci
  2. Variabel Atomik dan Koleksi Konkuren
  3. Kesalahan Umum Konkurensi
← Kembali ke Java Academy