কম্পিউটার

আমরা যদি জাভাতে রান() মেথডকে সরাসরি কল করি তাহলে কী হবে?


একটি থ্রেড অবজেক্টের রান() পদ্ধতির সরাসরি কল একটি আলাদা থ্রেড শুরু করে না এবং এটি বর্তমান থ্রেডের মধ্যে কার্যকর করা যেতে পারে। Runnable.run চালাতে একটি পৃথক থ্রেডের মধ্যে থেকে, নিম্নলিখিতগুলির মধ্যে একটি করুন

  • চালানযোগ্য ব্যবহার করে একটি থ্রেড তৈরি করুন অবজেক্ট এবং কল করুন start() থ্রেডে পদ্ধতি।
  • একটি থ্রেড অবজেক্টের একটি সাবক্লাস সংজ্ঞায়িত করুন এবং এর রান() সংজ্ঞাটি ওভাররাইড করুন পদ্ধতি তারপর এই সাবক্লাসের একটি উদাহরণ তৈরি করুন এবং start() কল করুন সরাসরি সেই উদাহরণে পদ্ধতি।

উদাহরণ

public class ThreadRunMethodTest {
   public static void main(String args[]) {
      MyThread runnable = new MyThread();
      runnable.run(); // Call to run() method does not start a separate thread
      System.out.println("Main Thread");
   }
}
class MyThread extends Thread {
   public void run() {
      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         System.out.println("Child Thread interrupted.");
      }
      System.out.println("Child Thread");
   }
}

উপরের উদাহরণে, প্রধান থ্রেড, ThreadRunMethodTest , চাইল্ড থ্রেডকে কল করে, MyThread , run() পদ্ধতি ব্যবহার করে। এর ফলে বাকি মূল থ্রেডটি কার্যকর হওয়ার আগে চাইল্ড থ্রেডটি সম্পূর্ণ হয়ে যায়, যাতে "চাইল্ড থ্রেড "প্রধান থ্রেডের আগে মুদ্রিত হয়৷ "।

আউটপুট

Child Thread
Main Thread

  1. কিভাবে আমরা জাভাতে invokeLater() পদ্ধতি কল করতে পারি?

  2. জাভাতে setBounds() পদ্ধতির ব্যবহার কি?

  3. জাভাতে সুইং ওয়ার্কার ক্লাসের গুরুত্ব কী?

  4. জাভাতে সুইং ইউটিলিটি ক্লাসের গুরুত্ব কী?