কম্পিউটার টিউটোরিয়াল

জাভা থ্রেড ক্লাসের join() মেথড


join ফাংশন -

join মেথড নিশ্চিত করে যে করেন্ট থ্রেড অপেক্ষা করবে যতক্ষণ না সেই থ্রেডটি जिसके সাথে জড়াতে হয় টার্মিনেট হয়ে যায়। এই ফাংশন অপেক্ষা করে যতক্ষণ না যে থ্রেডের ওপর ফাংশনটি কল করা হয়েছে, সেটি টার্মিনেট হয়ে যায়।

সিনট্যাক্স

final void join() throws InterruptedException

একটি উদাহরণ নিচে দেখানো হলো:

উদাহরণ

public class Demo extends Thread{    public void run(){       System.out.println("sample ");       try{          Thread.sleep(10);       }       catch (InterruptedException ie){       }       System.out.println("only ");    }    public static void main(String[] args){       Demo my_obj_1 = new Demo();       Demo my_obj_2 = new Demo();       my_obj_1.start();       System.out.println("The first object has been created and started");       try{          System.out.println("In the try block, the first object has been called with the join          function");          my_obj_1.join();       }       catch (InterruptedException ie){       }       System.out.println("The second object has been started");       my_obj_2.start();    } }

আউটপুট

The first object has been created and started In the try block, the first object has been called with the join function sample only The second object has been started sample only

Demo ক্লাস Thread ক্লাস এক্সটেন্ড করে। এখানে, একটি 'run' ফাংশন সংজ্ঞায়িত করা হয়েছে যেখানে একটি try catch ব্লক সংজ্ঞায়িত করা হয়েছে। এখানে, try ব্লকে, sleep ফাংশন কল করা হয়েছে এবং catch ব্লক খালি রেখে দেওয়া হয়েছে। main ফাংশনে, Demo অবজেক্টের দুটি ইনস্ট্যান্স তৈরি করা হয়েছে। প্রথম অবজেক্টটি স্টার্ট করা হয়েছে এবং 'join' ফাংশন ব্যবহার করে কল করা হয়েছে। একই কাজ দ্বিতীয় অবজেক্টের জন্যও করা হয়েছে এবং মেসেজগুলো প্রাসঙ্গিকভাবে প্রদর্শন করা হয়েছে।

  1. জাভাতে SwingWorker ক্লাসের গুরুত্ব কী?

  2. জাভাতে SwingUtilities ক্লাসের গুরুত্ব কী?

  3. জাভাতে java.lang.String ক্লাসের substring() মেথড কীভাবে ব্যবহার করবেন?

  4. জাভাতে main() মেথড কেন সবসময় static?