प्रोलॉग में समरूपता के दो विचार हैं। एक मल्टीथ्रेडिंग से जुड़ा हुआ है, दूसरा निलंबित लक्ष्य से जुड़ा हुआ है। मुझे यकीन नहीं है कि आप क्या जानना चाहते हैं। तो मैं पहले मल्टीथ्रेडिंग के बारे में थोड़ा सा विस्तार करूंगा:
आज व्यापक रूप से उपलब्ध प्रोलॉग सिस्टम को अलग-अलग किया जा सकता है चाहे वे बहुप्रचारित हों या नहीं। एक बहुप्रचारित प्रोलॉग सिस्टम में आप एक ही ज्ञान आधार पर एक साथ चलने वाले कई धागे उत्पन्न कर सकते हैं। यह परामर्श और गतिशील भविष्यवाणियों के लिए कुछ समस्याएं उत्पन्न करता है, जिन्हें इन प्रोलॉग सिस्टम द्वारा हल किया जाता है।
आप Prolog प्रणाली है कि यहाँ थ्रेड कर रहे हैं की एक सूची प्राप्त कर सकते हैं:
Operating system and Web-related features
बहु सूत्रण विभिन्न बनता paradigmas के लिए एक prerequesite है। इसके साथ-साथ अविभाज्य प्रोलॉग सिस्टम ऐसी संरचनाएं प्रदान करते हैं जो कुछ प्रतिमानों को पूरा करते हैं। विशिष्ट प्रतिमान थ्रेड पूलिंग होते हैं, उदाहरण के लिए वेब सर्वरों में उपयोग किया जाता है, या लंबे समय तक चलने वाले जीयूआई कार्यों के लिए धागे को फैलाता है।
वर्तमान में, एक धागा पुस्तकालय के लिए कोई आईएसओ मानक है, हालांकि एक प्रस्ताव दिया गया है और प्रत्येक Prolog सिस्टम आम तौर पर अमीर पुस्तकालयों कि धागा तुल्यकालन, धागा संचार, धागा डिबगिंग और विदेशी कोड धागे प्रदान करती हैं।प्रोलॉग सिस्टम में कचरा संग्रह में एक निश्चित प्रगति थ्रेड वाले अनुप्रयोगों को अनुमति देने के लिए जरूरी थी, जिनके संभावित रूप से असीमित लंबे समय तक चलने वाले धागे हैं।
कुछ मौजूदा परतें प्रोलॉग सिस्टम स्वतंत्र फैशन में उच्च स्तर समांतरता प्रतिमानों को भी अनुमति देती हैं। उदाहरण के लिए लॉगटॉक में कुछ संरचनाएं हैं जो विभिन्न लक्ष्य प्रोलॉग सिस्टम पर मैप करती हैं।
अब निलंबित लक्ष्यों पर जाएं। पुराने प्रोलॉग सिस्टम से (Prolog II, वास्तव में, 1 9 82 से) हम freeze/2 कमांड या अवरुद्ध निर्देशों को जानते हैं। ये मौजूदा लक्ष्यों द्वारा विस्तारित नहीं होने के लक्ष्य को मजबूर करता है, बल्कि इसके बजाय सोने की सूची डालता है। लक्ष्य बाद में जागृत हो सकता है। के बाद से लक्ष्य के निष्पादन तत्काल नहीं है, लेकिन केवल जब यह उठ रहा है, को निलंबित कर दिया लक्ष्यों कभी कभी समवर्ती लक्ष्यों, लेकिन समानांतरवाद के लिए इस प्रपत्र coroutines होगा के लिए बेहतर धारणा रूप में देखा जाता है।
निलंबित लक्ष्य बाध्यता समाधान प्रणाली को लागू करने के लिए उपयोगी हैं। सबसे सरल मामले में सोने की सूची कुछ परिवर्तनीय विशेषता है। लेकिन बाधा समाधान प्रणाली के लिए एक नया दृष्टिकोण बाधा हैंडलिंग नियम हैं। बाधा प्रबंधन नियमों में जागने की स्थिति को लक्ष्य जोड़ी पैटर्न निलंबित किया जा सकता है। बाधा या तो निलंबित लक्ष्य या बाधा से निपटने के नियमों के माध्यम से सुलझाने की उपलब्धता यहां देखा जा सकता:
Overview of Prolog Systems
बेस्ट सादर
+1 एक विचारशील उत्तर देने के लिए यह मानते हुए कि मानक प्रोलॉग कार्यान्वयन डिजाइन द्वारा अंतर्निहित समांतरता के अर्थ में समवर्ती नहीं हैं। इस सिक्का के नकारात्मक पक्ष से तुम्हारी मांसपेशियों को शायद दूसरी तरफ थोड़ा संतुलन मिल जाए, तो शायद मैं उस पर अपना हाथ कोशिश करूंगा। – hardmath
हां, मुझे दूसरी तरफ सुनना अच्छा लगेगा। मैं इसे उत्तर के रूप में स्वीकार कर रहा हूं, हालांकि, यह कहकर कि समांतरता बहुत मुश्किल है, एक पुलिस-आउट है। महान जवाब, यद्यपि। – alejandro5042
वहां टकराव नहीं लगाना चाहते हैं, उत्तर के लिए धन्यवाद :) – alejandro5042