কম্পিউটার

নির্ধারিত থ্রেড পুল এবং একক থ্রেড এক্সিকিউটরের মধ্যে পার্থক্য।


Sr. না। কী নির্ধারিত থ্রেড পুল একক থ্রেড এক্সিকিউটর
1
বেসিক
একটি থ্রেড পুল তৈরি করে যা প্রদত্ত বিলম্বের পরে চালানোর জন্য বা পর্যায়ক্রমে চালানোর জন্য কমান্ড নির্ধারণ করতে পারে।
কাজগুলি ক্রমানুসারে চালানোর নিশ্চয়তা রয়েছে এবং যেকোন সময়ে একটির বেশি কাজ সক্রিয় থাকবে না
2
সারি
এটি কার্য সঞ্চয় করতে বিলম্ব সারি ব্যবহার করে। সময়ের বিলম্বের উপর ভিত্তি করে কাজটি নির্ধারণ করুন।


এটি ব্লকিং কিউ ব্যবহার করে।


3
থ্রেড লাইফটাইম
টি পুলে রাখার জন্য থ্রেডের সংখ্যা, এমনকি যদি সেগুলি নিষ্ক্রিয় থাকে
টাস্কের কারণে মারা গেলে থ্রেড পুনরায় তৈরি করুন।
4.
থ্রেড পুলের আকার
এতে সর্বদা একটি একক থ্রেড চলছে।
থ্রেড পুল শূন্য থ্রেড থেকে পূর্ণসংখ্যা পর্যন্ত বৃদ্ধি পেতে পারে। MAX_VALUE
5.
কেস ব্যবহার করুন৷
আমাদের ফিক্সড থ্রেডপুল ব্যবহার করা উচিত, যখন আমরা একযোগে কাজ সীমিত করতে চাই
এই ধরনের পুল ব্যবহার করা যেতে পারে যখন আপনি নিশ্চিত করতে চান যে Task1 সবসময় টাস্ক2-এর আগে চালানো উচিত।

SeduledThreadPool-এর উদাহরণ

public class ScheduledThreadPoolExample {
   public static void main(String args[]) {
      ScheduledExecutorService services = Executors.newScheduledThreadPool(10);
      services.schedule(new Task(), 10, TimeUnit.SECONDS);
      services.scheduleAtFixedRate(new Task(), 15, 10, TimeUnit.SECONDS);
      //(new Thread(new Main())).start();
   }
}
public class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("In Run");
   }
}

SingleThreadExecutor এর উদাহরণ

public class Main {
   public static void main(String args[]) {
      ExecutorService services = Executors.newSingleThreadExecutor();
      Future<?> future = services.submit(new Task());
   }
}
public class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("In Run");
   }
}

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

  2. জাভাতে অপেক্ষা এবং ঘুমের মধ্যে পার্থক্য

  3. জাভাতে থ্রেড এবং রানেবলের মধ্যে পার্থক্য

  4. জাভাতে ব্যতিক্রম এবং ত্রুটির মধ্যে পার্থক্য