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

জাভাতে একটি থ্রেড কীভাবে অন্য একটি থ্রেডকে ইন্টারাপ্ট করতে পারে?


জাভাতে 'interrupt' ফাংশন ব্যবহার করা যেতে পারে InterruptedException এক্সেপশনের সাহায্যে একটি থ্রেডের এক্সিকিউশন ইন্টারাপ্ট করার জন্য।

নিচের উদাহরণটি দেখায় কীভাবে বর্তমানে এক্সিকিউট হচ্ছে থ্রেড এক্সিকিউশন বন্ধ করে দেয় (কারণ catch ব্লকে নতুন একটি এক্সেপশন উঠেছে) একবার ইন্টারাপ্ট হলে:

উদাহরণ

public class Demo extends Thread {    public void run()    {       try       {          Thread.sleep(150);          System.out.println("In the 'run' function inside try block");       }       catch (InterruptedException e)       {          throw new RuntimeException("The thread has been interrupted");       }    }    public static void main(String args[])    {       Demo my_inst = new Demo();       System.out.println("An instance of the Demo class has been created");       my_inst.start();       try       {          my_inst.interrupt();       }       catch (Exception e)       {          System.out.println("The exception has been handled");       }    } }

আউটপুট

An instance of the Demo class has been created Exception in thread "Thread-0" java.lang.RuntimeException: The thread has been interrupted at Demo.run(Demo.java:12)

Demo নামক একটি ক্লাস Thread ক্লাসকে এক্সটেন্ড করে। এখানে 'try' ব্লকের ভেতরে 'run' নামক একটি ফাংশন সংজ্ঞায়িত করা হয়েছে যা ফাংশনটিকে ১৫০ মিলিসেকেন্ড স্লিপ করে। 'catch' ব্লকে এক্সেপশন ক্যাচ করা হয় এবং প্রাসঙ্গিক মেসেজ কনসোলে দেখানো হয়।

main ফাংশনে Demo ক্লাসের একটি ইনস্ট্যান্স তৈরি করা হয়েছে এবং 'start' ফাংশন ব্যবহার করে থ্রেড শুরু করা হয়েছে। 'try' ব্লকের ভেতরে ইনস্ট্যান্সটি ইন্টারাপ্ট করা হয়েছে এবং 'catch' ব্লকে এক্সেপশন ইঙ্গিত করার প্রাসঙ্গিক মেসেজ প্রিন্ট করা হয়েছে।


  1. জাভাতে অটো-কমপ্লিট JComboBox বাস্তবায়ন করা

  2. জাভাতে রাউন্ডেড JTextField বাস্তবায়ন

  3. জাভাতে এডিটেবল JLabel কীভাবে বাস্তবায়ন করবেন?

  4. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?