সমবর্তী হ্যাশম্যাপ হল একটি ক্লাস যা jdk1.5 এ চালু করা হয়েছিল। মানচিত্র যোগ বা আপডেট করার সময় সমবর্তী হ্যাশ মানচিত্র শুধুমাত্র বালতি স্তরে লক প্রয়োগ করে যাকে ফ্র্যাগমেন্ট বলা হয়। সুতরাং, একটি সমসাময়িক হ্যাশ মানচিত্র মানচিত্রটিতে একযোগে পড়া এবং লেখার কাজ করার অনুমতি দেয়।
সিঙ্ক্রোনাইজড হ্যাশম্যাপ(Collection.syncronizedHashMap()) হল সংগ্রহ কাঠামোর একটি পদ্ধতি। এই পদ্ধতিটি সম্পূর্ণ সংগ্রহে একটি লক প্রয়োগ করে। সুতরাং, যদি একটি থ্রেড মানচিত্র অ্যাক্সেস করে তবে অন্য কোনো থ্রেড একই মানচিত্রে অ্যাক্সেস করতে পারে না।
Sr. না। | কী | সমবর্তী হ্যাশ মানচিত্র | সিঙ্ক্রোনাইজড হ্যাশম্যাপ |
---|---|---|---|
1 | বাস্তবায়ন | এটি একটি ক্লাস যা একটি সমবর্তী হ্যাশ মানচিত্র এবং সিরিয়ালাইজেবল ইন্টারফেস প্রয়োগ করে। | এটি কালেকশন ক্লাসের একটি পদ্ধতি। |
2 | লক মেকানিজম | অংশটি লক করে | পুরো মানচিত্র লক করে। |
3 | পারফরম্যান্স | সমসাময়িক হ্যাশম্যাপ একযোগে পড়া এবং লেখার অনুমতি দেয়। সুতরাং কর্মক্ষমতা একটি সিঙ্ক্রোনাইজড মানচিত্রের চেয়ে তুলনামূলকভাবে ভাল। | একাধিক থ্রেড একসাথে মানচিত্র অ্যাক্সেস করতে পারে না। সুতরাং, কর্মক্ষমতা একটি সমবর্তী হ্যাশ মানচিত্রের তুলনায় তুলনামূলকভাবে কম। |
4 | নাল কী৷ | এটি কী বা মান হিসাবে নালকে অনুমতি দেয় না। | এটি একটি কী হিসাবে নালকে অনুমতি দেয়। |
5 | সমসাময়িক পরিবর্তন ব্যতিক্রম | এটি সমসাময়িক পরিবর্তনের ব্যতিক্রম নিক্ষেপ করে না। | সিঙ্ক্রোনাইজড ম্যাপ দ্বারা ইটারেটর রিটার্ন সমসাময়িক পরিবর্তন ব্যতিক্রম নিক্ষেপ করে |
সিঙ্ক্রোনাইজড ম্যাপের উদাহরণ
public class SynchronizedMapExample { public static void main(String[] args) { Map<Integer,String> laptopmap = new HashMap<Integer,String>(); laptopmap.put(1,"IBM"); laptopmap.put(2,"Dell"); laptopmap.put(3,"HCL"); // create a synchronized map Map<Integer,String> syncmap = Collections.synchronizedMap(laptopmap); System.out.println("Synchronized map is : "+syncmap); } }
সমবর্তী হ্যাশম্যাপের উদাহরণ
public class ConcurrentHashMapExample { public static void main(String[] args) { //ConcurrentHashMap Map<Integer,String> laptopmap = new ConcurrentHashMap<Integer,String>(); laptopmap.put(1,"IBM"); laptopmap.put(2,"Dell"); laptopmap.put(3,"HCL"); System.out.println("ConcurrentHashMap is: "+laptopmap); } }