কম্পিউটার

ReentrantLock এবং জাভাতে সিঙ্ক্রোনাইজডের মধ্যে পার্থক্য


একাধিক থ্রেড দ্বারা ভাগ করা সম্পদে একটি লক পেতে দুটি উপায় আছে। একটি হল Reentrant Lock (বা ReadWriteLock ) এবং অন্যটি হল সিঙ্ক্রোনাইজড পদ্ধতি ব্যবহার করে৷

জাভা 5 থেকে জাভা কনকারেন্সি প্যাকেজে ReentrantLock ক্লাস প্রদান করা হয়েছে।

এটি লক ইন্টারফেসের বাস্তবায়ন এবং জাভা ডক্স অনুযায়ী, লক ইন্টারফেসের বাস্তবায়ন সিঙ্ক্রোনাইজড পদ্ধতি ব্যবহার করে প্রাপ্ত করার চেয়ে আরও বিস্তৃত অপারেশন প্রদান করে।

Sr. না। কী ReentrantLock সিঙ্ক্রোনাইজড
1
লক অর্জন করুন৷
পুনরায় প্রবেশকারী লক ক্লাস থ্রেড দ্বারা ভাগ করা সম্পদে একটি লক পেতে লক() পদ্ধতি প্রদান করে
একটি লক পাওয়ার জন্য আপনাকে শুধু সিঙ্ক্রোনাইজড কীওয়ার্ড লিখতে হবে
2
রিলিজ লক৷
লক রিলিজ করতে, প্রোগ্রামারদের আনলক() পদ্ধতিতে কল করতে হবে
এটি পরোক্ষভাবে করা হয়
3
বাধা দেওয়ার ক্ষমতা
lockInterruptibly() পদ্ধতিটি থ্রেডকে বাধা দিতে ব্যবহার করা যেতে পারে
থ্রেডে বাধা দেওয়ার কোনো উপায় নেই
4
ন্যায্যতা
এই শ্রেণীর কনস্ট্রাক্টরের ন্যায্যতা প্যারামিটার আছে। যদি এটি সত্য হিসাবে সেট করা হয় তবে লকগুলি দীর্ঘতম-প্রতীক্ষায় অ্যাক্সেস দেওয়ার পক্ষে
* থ্রেড
লক কোনো নির্দিষ্ট অ্যাক্সেস অর্ডারের নিশ্চয়তা দেয় না
5
লক রিলিজ অর্ডার
লক যেকোন ক্রমে প্রকাশ করা যেতে পারে
যে ক্রমে সেগুলি অধিগ্রহণ করা হয়েছিল সেই ক্রমে লক মুক্তি দেওয়া উচিত৷

ReentrantLock এর উদাহরণ

public class ReentrantLockExample implements Runnable{
   private Lock lock=new ReentrantLock();
   @Override
   public void run() {
      try {
         lock.lock()
         //Lock some resource

      }
      catch (InterruptedException e) {
         e.printStackTrace();
      }
      finally {
         lock.unlock();
      }
   }
}

সিঙ্ক্রোনাইজড লকের উদাহরণ

public class SynchronizedLockExample implements Runnable{
   @Override
   public void run() {
      synchronized (resource) {
         //Lock some resource
      }
   }
}

  1. জাভাতে সিরিয়ালাইজেশন এবং এক্সটারনালাইজেশনের মধ্যে পার্থক্য

  2. জাভাতে সমসাময়িক হ্যাশ ম্যাপ এবং সিঙ্ক্রোনাইজড হ্যাশম্যাপের মধ্যে পার্থক্য

  3. জাভাতে ইটারেটর এবং গণনার মধ্যে পার্থক্য

  4. জাভাতে অ্যারেলিস্ট এবং হ্যাশসেটের মধ্যে পার্থক্য