Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Menguasai ConcurrentMap Java: Map Thread-Safe Dijelaskan

Antarmuka ConcurrentMap Java

Pelajari bagaimana ConcurrentMap Java menyediakan operasi map yang aman untuk thread, metodenya inti, dan contoh praktis menggunakan ConcurrentHashMap.

Antarmuka ConcurrentMap memperluas java.util.Map dan menyediakan implementasi map yang sangat konkuren dan aman untuk thread. Ia menjamin bahwa banyak thread dapat melakukan operasi baca, tulis, dan pembaruan secara bersamaan tanpa merusak kondisi internal map.

Karena ConcurrentMap adalah antarmuka, Anda tidak dapat membuat instance langsung. Implementasi yang paling umum adalah java.util.concurrent.ConcurrentHashMap, yang menawarkan pembacaan bebas kunci dan penguncian halus untuk pembaruan.


Kelas yang Mengimplementasikan ConcurrentMap

Meskipun ConcurrentMap itu sendiri tidak dapat dibuat instance, Anda dapat membuat peta konkret dengan menggunakan salah satu implementasinya. Standar de facto adalah ConcurrentHashMap, tetapi alternatif seperti ConcurrentSkipListMap ada untuk kebutuhan map yang diurutkan.

Menguasai ConcurrentMap Java: Map Thread-Safe Dijelaskan


Menggunakan ConcurrentMap

Pertama, impor antarmuka:

import java.util.concurrent.ConcurrentMap; 

Kemudian buat instance ConcurrentHashMap:

ConcurrentMap<String, Integer> numbers = new ConcurrentHashMap<>(); 

Dalam contoh ini, numbers adalah map yang aman untuk thread di mana setiap kunci String dipasangkan dengan nilai Integer.

Konsep kunci:


Metode Utama ConcurrentMap

Selain semua operasi Map standar, ConcurrentMap memperkenalkan beberapa metode atomik dan bebas kunci:

Untuk referensi mendalam, lihat dokumentasi Java resmi.


Menggunakan ConcurrentHashMap dengan ConcurrentMap

import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; public class Main { public static void main(String[] args) { // Create a thread‑safe map ConcurrentMap<String, Integer> numbers = new ConcurrentHashMap<>(); // Insert elements numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("ConcurrentMap: " + numbers); // Retrieve a value int value = numbers.get("One"); System.out.println("Accessed Value: " + value); // Remove a key/value pair int removed = numbers.remove("Two"); System.out.println("Removed Value: " + removed); } } 

Output

ConcurrentMap: {One=1, Two=2, Three=3} Accessed Value: 1 Removed Value: 2 

Untuk penggunaan yang lebih lanjut, konsultasikan dokumentasi ConcurrentHashMap.

java

  1. Menguasai Antarmuka C#: Definisi, Implementasi, dan Kasus Penggunaan Praktis
  2. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  3. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  4. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  5. Menguasai Antarmuka NavigableSet Java: Navigasi, Pengurutan, dan Contoh Praktis
  6. Menguasai Java Lambda Expressions: Dari Dasar hingga Stream API
  7. Antarmuka vs Kelas Abstrakt di Java: Cara Memilih Abstraksi yang Tepat
  8. Memahami Antarmuka Java: Definisi, Penggunaan, dan Praktik Terbaik
  9. Java 9 Private Interface Methods: Meningkatkan Enkapsulasi dan Penggunaan Ulang Kode
  10. Menguasai Java 8 Optional: Panduan Praktis Kode Aman dari Null