isAlive ফাংশন - এটি চেক করতে ব্যবহৃত হয় একটি থ্রেড জীবিত কিনা। জীবিত বলতে একটি থ্রেডকে বুঝায় যা শুরু হয়েছে কিন্তু এখনো টার্মিনেট হয়নি। যখন run মেথড কল করা হয়, থ্রেড একটি নির্দিষ্ট সময়ের জন্য অপারেট করে যারপর এটি এক্সিকিউট করা বন্ধ করে।
সিনট্যাক্স
final Boolean isAlive()
উপরের ফাংশনটি true রিটার্ন করবে যদি যে থ্রেডের ওপর ফাংশনটি কল করা হয়েছে সেটি রান করছে থাকে এবং এখনো টার্মিনেট হয়নি। অন্যথায় false রিটার্ন করবে।
একটি উদাহরণ নিচে দেখানো হলো:
উদাহরণ
public class Demo extends Thread{ public void run(){ System.out.println("sample "); try{ Thread.sleep(25); } 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"); my_obj_2.start(); System.out.println("The first object has been created and started"); System.out.println(my_obj_1.isAlive()); System.out.println("The isAlive function on first object has been called"); System.out.println(my_obj_2.isAlive()); System.out.println("The isAlive function on second object has been called"); } }আউটপুট
The first object has been created and started sample The first object has been created and started sample true The isAlive function on first object has been called true The isAlive function on second object has been called only only
Demo ক্লাস Thread ক্লাস এক্সটেন্ড করে। এখানে, একটি 'run' ফাংশন সংজ্ঞায়িত করা হয়েছে যেখানে একটি try catch ব্লক সংজ্ঞায়িত করা হয়েছে। এখানে, try ব্লকে, sleep ফাংশন কল করা হয়েছে এবং catch ব্লক খালি রেখে দেওয়া হয়েছে। main ফাংশনে, Demo অবজেক্টের দুটি ইনস্ট্যান্স তৈরি করা হয়েছে। প্রথম অবজেক্টটি স্টার্ট করা হয়েছে এবং 'isAlive' ফাংশন ব্যবহার করে চেক করা হয়েছে এটি রান করছে কিনা বা মূলত রানেবল স্টেটে আছে কিনা। একই কাজ দ্বিতীয় অবজেক্টের জন্যও করা হয়েছে।