प्रोजेक्ट लूम ओपनजेडीके समुदाय द्वारा हल्के, कुशल धागे, जिन्हें फाइबर के रूप में जाना जाता है, और जावा प्लेटफ़ॉर्म पर निरंतरता पेश करने का एक सतत प्रयास है। इन नई सुविधाओं का उद्देश्य समवर्ती प्रोग्रामिंग को सरल बनाना और जावा अनुप्रयोगों की स्केलेबिलिटी में सुधार करना है।
प्रोजेक्ट लूम का लक्ष्य फाइबर को पेश करके जावा के समवर्ती मॉडल को बढ़ाना है, जो जेवीएम द्वारा प्रबंधित हल्के धागे हैं। पारंपरिक धागों के विपरीत, फ़ाइबर का ओवरहेड बहुत कम होता है, जिससे उनमें से लाखों को एक साथ बनाना और प्रबंधित करना संभव हो जाता है। यह परियोजना निरंतरता भी प्रस्तुत करती है, जो विशिष्ट बिंदुओं पर गणनाओं को निलंबित करने और फिर से शुरू करने की अनुमति देती है।
यहां एक उदाहरण दिया गया है कि आप जावा एप्लिकेशन में फाइबर का उपयोग कैसे कर सकते हैं:
import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; public class LoomExample { public static void main(String[] args) { ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor(); for (int i = 0; i { System.out.println("Hello from fiber " Thread.currentThread().getName()); }); } executor.shutdown(); } }
इस उदाहरण में, हम एक निष्पादक बनाते हैं जो वर्चुअल थ्रेड्स (फाइबर) का उपयोग करता है। फिर हम इस निष्पादक को लाखों कार्य सौंपते हैं। प्रत्येक कार्य वर्तमान थ्रेड के नाम के साथ एक संदेश प्रिंट करता है।
निरंतरता आपको गणना को रोकने और फिर से शुरू करने की अनुमति देती है। यहाँ एक बुनियादी उदाहरण है:
import jdk.incubator.concurrent.Continuation; import jdk.incubator.concurrent.ContinuationScope; public class ContinuationExample { public static void main(String[] args) { ContinuationScope scope = new ContinuationScope("example"); Continuation continuation = new Continuation(scope, () -> { System.out.println("Part 1"); Continuation.yield(scope); System.out.println("Part 2"); }); while (!continuation.isDone()) { continuation.run(); } } }
इस उदाहरण में, निरंतरता "भाग 1" प्रिंट करती है, मुख्य थ्रेड पर नियंत्रण वापस लाती है, और फिर "भाग 2" प्रिंट करना शुरू करती है।
प्रोजेक्ट लूम जावा में समवर्तीता को संभालने के तरीके में क्रांतिकारी बदलाव लाने के लिए तैयार है। हल्के फाइबर और निरंतरता को पेश करके, यह समवर्ती प्रोग्रामिंग के लिए अधिक स्केलेबल और कुशल मॉडल प्रदान करता है। डेवलपर्स इन नई सुविधाओं के साथ सरल, अधिक प्रदर्शन करने वाले समवर्ती एप्लिकेशन लिखने की आशा कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3