हां , हम जावा में एक रन () विधि को सिंक्रनाइज़ कर सकते हैं, लेकिन इसकी आवश्यकता नहीं है क्योंकि यह विधि केवल एक थ्रेड द्वारा निष्पादित की गई है। इसलिए सिंक्रनाइज़ेशन रन () . के लिए आवश्यक नहीं है तरीका। गैर-स्थैतिक विधि synchronize को सिंक्रनाइज़ करना अच्छा अभ्यास है अन्य वर्ग का क्योंकि यह एक ही समय में कई थ्रेड्स द्वारा लागू किया जाता है।
उदाहरण
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