কম্পিউটার

জাভাতে একটি সংগ্রহের থ্রেড কীভাবে নিরাপদ করবেন?


java.util প্যাকেজ পদ্ধতির কালেকশন ক্লাস যা একচেটিয়াভাবে সংগ্রহের উপর কাজ করে এই পদ্ধতিগুলি বিভিন্ন অতিরিক্ত ক্রিয়াকলাপ প্রদান করে যার মধ্যে পলিমরফিক অ্যালগরিদম রয়েছে।

এই শ্রেণীটি নিচে দেখানো হিসাবে synchronized Collection() পদ্ধতির বিভিন্ন রূপ প্রদান করে -

Sr. No পদ্ধতি এবং বর্ণনা
1 স্ট্যাটিক সংগ্রহ সিঙ্ক্রোনাইজড সংগ্রহ(সংগ্রহ গ)
এই পদ্ধতিটি যেকোন সংগ্রহের বস্তুকে গ্রহণ করে এবং নির্দিষ্ট সংগ্রহ দ্বারা সমর্থিত একটি সিঙ্ক্রোনাইজড (থ্রেড-নিরাপদ) সংগ্রহ ফিরিয়ে দেয়।
2 স্ট্যাটিক তালিকা সিঙ্ক্রোনাইজড তালিকা(তালিকা তালিকা)
এই পদ্ধতিটি তালিকা ইন্টারফেসের একটি বস্তু গ্রহণ করে নির্দিষ্ট তালিকা দ্বারা সমর্থিত একটি সিঙ্ক্রোনাইজড (থ্রেড-নিরাপদ) তালিকা প্রদান করে।
3 স্ট্যাটিক মানচিত্র সিঙ্ক্রোনাইজড ম্যাপ(মানচিত্র মি)
এই পদ্ধতিটি মানচিত্র ইন্টারফেসের একটি বস্তু গ্রহণ করে এবং নির্দিষ্ট মানচিত্র দ্বারা সমর্থিত একটি সিঙ্ক্রোনাইজড (থ্রেড-নিরাপদ) মানচিত্র ফেরত দেয়।
4 স্ট্যাটিক সেট সিঙ্ক্রোনাইজডসেট(সেটগুলি)
এই পদ্ধতিটি সেট ইন্টারফেসের একটি বস্তু গ্রহণ করে এবং নির্দিষ্ট সেট দ্বারা সমর্থিত একটি সিঙ্ক্রোনাইজড (থ্রেড-নিরাপদ) সেট ফিরিয়ে দেয়।
5 স্ট্যাটিক SortedMap synchronizedSortedMap(SortedMap m)
এই পদ্ধতিটি মানচিত্র ইন্টারফেসের একটি বস্তু গ্রহণ করে এবং নির্দিষ্ট সাজানো মানচিত্রের দ্বারা সমর্থিত একটি সিঙ্ক্রোনাইজড (থ্রেড-নিরাপদ) সাজানো মানচিত্র ফেরত দেয়।
6 স্ট্যাটিক SortedSet synchronizedSortedSet(SortedSets)
এই পদ্ধতিটি সিঙ্ক্রোনাইজড সর্টেডসেট ইন্টারফেসের একটি অবজেক্ট গ্রহণ করে এবং নির্দিষ্ট বাছাই করা সেট দ্বারা ব্যাক করা একটি সিঙ্ক্রোনাইজড (থ্রেড-সেফ) সাজানো সেট ফিরিয়ে দেয়।

উদাহরণ

import java.util.Collection;
import java.util.Collections;
import java.util.Vector;
public class CollectionReadOnly {
   public static void main(String[] args) {
      //Instantiating an ArrayList object
      Vector<String> vector = new Vector<String>();
      vector.add("JavaFx");
      vector.add("Java");
      vector.add("WebGL");
      vector.add("OpenCV");
      System.out.println(vector);
      Collection<String> synchronizedVector = Collections.synchronizedCollection(vector);
      System.out.println("Synchronized "+synchronizedVector);
      synchronizedVector.add("CoffeeScript");
   }
}

আউটপুট

[JavaFx, Java, WebGL, OpenCV]
Synchronized [JavaFx, Java, WebGL, OpenCV]

  1. কিভাবে টুইটারে একটি থ্রেড তৈরি করবেন

  2. জাভাতে কোন সংগ্রহের ক্লাস থ্রেড-নিরাপদ?

  3. জাভাতে জিসির জন্য একটি বস্তুকে যোগ্য করার কতগুলি উপায়?

  4. কিভাবে জাভাতে একটি সিঙ্গলটন এনাম তৈরি করবেন?