কম্পিউটার

জাভাতে চলমান থ্রেডকে কীভাবে বাধা দেবেন?


একটি থ্রেড থ্রেড এ ইন্টারাপ্ট আহ্বান করে একটি বিঘ্ন পাঠাতে পারে থ্রেড বিঘ্নিত করার জন্য বস্তু. এর মানে হল interrupt() কে কল করার অন্য কোনো থ্রেডের কারণে থ্রেডের বিঘ্ন ঘটে পদ্ধতি।

থ্রেড ক্লাস তিনটি বাধা পদ্ধতি প্রদান করে

  • void interrupt() - থ্রেড বাধা দেয়।
  • স্ট্যাটিক বুলিয়ান বাধাপ্রাপ্ত() - বর্তমান থ্রেডটি বাধাগ্রস্ত হয়েছে কিনা তা পরীক্ষা করে।
  • বুলিয়ান বাধাপ্রাপ্ত() - থ্রেডটি বাধাগ্রস্ত হয়েছে কিনা তা পরীক্ষা করে।

উদাহরণ

public class ThreadInterruptTest {
   public static void main(String[] args) {
      System.out.println("Thread main started");
      final Task task = new Task();
      final Thread thread = new Thread(task);
      thread.start();
      thread.interrupt(); // calling interrupt() method
      System.out.println("Main Thread finished");
   }
}
class Task implements Runnable {
   @Override
   public void run() {
      for (int i = 0; i < 5; i++) {
         System.out.println("[" + Thread.currentThread().getName() + "] Message " + i);
         if(Thread.interrupted()) {
            System.out.println("This thread was interruped by someone calling this Thread.interrupt()");
            System.out.println("Cancelling task running in thread " + Thread.currentThread().getName());
            System.out.println("After Thread.interrupted() call, JVM reset the interrupted value to: " + Thread.interrupted());
            break;
         }
      }
   }
}

আউটপুট

Thread main started
Main Thread finished
[Thread-0] Message 0
This thread was interruped by someone calling this Thread.interrupt()
Cancelling task running in thread Thread-0
After Thread.interrupted() call, JVM reset the interrupted value to: false

  1. জাভাতে অ্যারেলিস্ট কীভাবে শুরু করবেন

  2. বর্তমান থ্রেড অ্যান্ড্রয়েডে বাধাপ্রাপ্ত হয় কিভাবে পেতে?

  3. কীভাবে জাভাতে একটি ব্যতিক্রম পুনরুদ্ধার করবেন?

  4. কিভাবে জাভাতে JSON পার্স করবেন