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

জাভাতে run() মেথড সিঙ্ক্রোনাইজ করা যায় কিনা?


হ্যাঁ, জাভাতে run() মেথড সিঙ্ক্রোনাইজ করা যায়, কিন্তু এটি প্রয়োজনীয় নয় কারণ এই মেথডটি একটি একক থ্রেড দ্বারা এক্সিকিউট হয়। তাই run() মেথডের জন্য সিঙ্ক্রোনাইজেশন প্রয়োজন হয় না। অন্য ক্লাসের নন-স্ট্যাটিক মেথড সিঙ্ক্রোনাইজ করা ভালো অভ্যাস কারণ এটি একই সাথে একাধিক থ্রেড দ্বারা আহ্বান করা হতে পারে।

উদাহরণ

public class SynchronizeRunMethodTest implements Runnable { 
    public synchronized void run() { 
        System.out.println(Thread.currentThread().getName() + " is starting"); 
        for(int i = 0; i < 5; i++) { 
            try { 
                Thread.sleep(1000); 
                System.out.println(Thread.currentThread().getName() + " is running"); 
            } catch(InterruptedException ie) { 
                ie.printStackTrace(); 
            } 
        } 
        System.out.println(Thread.currentThread().getName() + " is finished"); 
    } 
    
    public static void main(String[] args) { 
        SynchronizeRunMethodTest test = new SynchronizeRunMethodTest(); 
        Thread t1 = new Thread(test); 
        Thread t2 = new Thread(test); 
        t1.start(); 
        t2.start(); 
    } 
}

আউটপুট

Thread-0 is starting Thread-0 is running Thread-0 is running Thread-0 is running Thread-0 is running Thread-0 is running Thread-0 is finished Thread-1 is starting Thread-1 is running Thread-1 is running Thread-1 is running Thread-1 is running Thread-1 is running Thread-1 is finished

  1. জাভাতে pack() মেথড কখন ব্যবহার করবেন

  2. জাভাতে invokeLater() মেথড কল করার পদ্ধতি

  3. জাভাতে মেইন মেথড প্রাইভেট ঘোষণা করা যায় কি?

  4. জাভাতে ফাইনাল মেথড ইনহেরিট করা যায় কি?