কম্পিউটার

আমরা কি জাভাতে লক না নিয়ে অপেক্ষা () পদ্ধতিতে কল করতে পারি?


না , আমরা wait() কল করতে পারি না পদ্ধতি লক অর্জন ছাড়াই . জাভাতে, একবার লক অর্জিত হয়ে গেলে আমাদের কল করতে হবে wait() পদ্ধতি ( টাইমআউট সহ বা টাইমআউট ছাড়া) সেই বস্তুতে। যদি আমরা wait() কল করার চেষ্টা করি একটি লক অর্জন ছাড়াই পদ্ধতি, এটি java.lang.IllegalMonitorStateException নিক্ষেপ করতে পারে .

উদাহরণ

public class ThreadStateTest extends Thread {
   public void run() {
      try {
         wait(1000);
      } catch(InterruptedException ie) {
         ie.printStackTrace();
      }
   }
   public static void main(String[] s) {
      ThreadStateTest test = new ThreadStateTest();
      test.start();
   }
}

উপরের উদাহরণে, আমাদের কল করতে হবে wait() লকটি অর্জন না করে পদ্ধতি যাতে এটি একটি IllegalMonitorStateException তৈরি করে রানটাইমে সমস্যাটি সমাধান করার জন্য, wait() এ কল করার আগে আমাদের লকটি অর্জন করতে হবে পদ্ধতি এবং রান() ঘোষণা করুন পদ্ধতি সিঙ্ক্রোনাইজড।

আউটপুট

Exception in thread "Thread-0" java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at ThreadStateTest.run(ThreadStateTest.java:4)

  1. আমরা কখন জাভাতে প্যাক() পদ্ধতি ব্যবহার করতে পারি?

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

  3. কিভাবে আমরা জাভাতে একটি JPanel এর paintComponent() পদ্ধতি প্রয়োগ করতে পারি?

  4. আমরা কি জাভাতে একটি চূড়ান্ত পদ্ধতির উত্তরাধিকারী হতে পারি?