Avatar ·

Java में volatile कीवर्ड किसके लिए है? उदाहरणों के साथ समझाएं

सभी को नमस्ते! मैं एक शुरुआती Java डेवलपर हूं, और हाल ही में मल्टीथ्रेडिंग का सक्रिय रूप से अध्ययन कर रहा हूं। मुझे `volatile` कीवर्ड मिला, लेकिन मैं पूरी तरह से नहीं समझ पाया कि इसकी क्या आवश्यकता है और इसे कब उपयोग करना चाहिए। मैंने एक छोटा कोड लिखा है, जहां एक thread फ्लैग `running` को बदलता है, और दूसरा thread इसे लूप में जांचता है। `volatile` के बिना, प्रोग्राम कभी-कभी गलत तरीके से काम करता है — दूसरा thread बदलाव नहीं देखता और काम करता रहता है। यह रहा मेरा कोड: ```java public class TestVolatile { private static boolean running = true; public static void main(String[] args) throws InterruptedException { Thread worker = new Thread(() -> { while (running) { // कुछ कर रहे हैं } System.out.println("Worker रुक गया"); }); worker.star