2011-12-24 14 views
8

ऐसा लगता है कि पहले से ही कई थ्रेड कार्यान्वयन हैं, जैसा कि मैंने देखा है कि Bordeaux Threads, Portable-Threads हैं, और "द कॉमन लिस्प कुक बुक" भी बहु-धागे को लागू करने का एक तरीका प्रदान करता है, पैकेज mp जो मुझे नहीं पता कि यह मेरे प्रोग्राम में कैसे शामिल है, मुझे यह पैकेज नहीं मिल रहा है।सामान्य लिस्प में मल्टी-थ्रेड को कार्यान्वित करने के लिए

समस्या यह है कि मैं अपनी मांग को पूरा करने के लिए उचित बहु-थ्रेड लाइब्रेरी कैसे चुन सकता हूं, क्योंकि मैं भी एक सी प्रोग्रामर हूं, यह पर्थ्रेड की तरह बेहतर है, लेकिन इससे कोई फर्क नहीं पड़ता, मुझे आश्चर्य है कि यह सबसे ज्यादा इस्तेमाल होता है मल्टी-थ्रेड्स लाइब्रेरी, या आम लिस्प में बहु-थ्रेड प्रोग्रामिंग के लिए नियमित तरीका क्या है।

उत्तर

7

Quicklisp stats for November बोर्डो-सूत्र के अनुसार भारी प्रयोग किया जाता है, लेकिन मैं पोर्टेबल-धागे या किसी अन्य कार्यान्वयन नहीं दिख रहा। तो मुझे लगता है कि आप इसे आजमा सकते हैं और देख सकते हैं कि यह आपकी आवश्यकताओं को पूरा करता है और यदि ऐसा नहीं होता है तो एक और कार्यान्वयन की तलाश करें।

मैंने इसका उपयोग शायद ही किया है लेकिन मुझे इसका उपयोग करना आसान लगता है और API documentation स्पष्ट है।

+0

धन्यवाद, मैं बोर्डो-थ्रेड्स का प्रयास करूंगा, इसका एपीआई दस्तावेज वास्तव में स्पष्ट है। –

7

असल में, सामान्य लिस्प के लिए वास्तविक तथ्य थ्रेडिंग मानक Bordeaux Threads (bt) है, जो विभिन्न कार्यान्वयन के थ्रेडिंग एपीआई पर एक पोर्टेबिलिटी परत है।

mp (जो बहु-प्रसंस्करण के लिए खड़ा है) यह है कि लिस्पॉर्ड्स में थ्रेडिंग एपीआई कैसे कहा जाता है (और, अगर मुझे गलत नहीं है, फ्रांज सीएल)। यदि आप कुछ विशिष्ट कार्यान्वयन के लिए विकास कर रहे हैं, तो आप इसे सीधे उपयोग कर सकते हैं (जैसे sb-thread), यदि आप थ्रेडिंग समर्थन के साथ वर्तमान में सक्रिय कार्यान्वयन में पोर्टेबिलिटी का लक्ष्य रखते हैं तो आप bt पर भरोसा कर सकते हैं (सीएलआईएसपी में यह नहीं है सब)।

+0

मुझे यकीन नहीं है कि लिस्पैड के बारे में आपने जो जादू की गलती की है, मैंने केवल लिस्पॉर्क्स के बारे में सुना है, जो एक वाणिज्यिक कार्यान्वयन है, शायद मैं इसे विकास के लिए उपयोग नहीं कर सकता, क्योंकि मैं लिस्पॉर्क्स की उच्च कीमत पर खर्च नहीं कर सकता, मैं बोर्डेक्स थ्रेड का प्रयास करूंगा क्योंकि बहुत से लोग इसका इस्तेमाल करते हैं, धन्यवाद। –

+0

हां, लिस्पॉर्क्स वाणिज्यिक सीएल कार्यान्वयन में से एक है। इसमें एक सीमित मुक्त संस्करण भी है, जिसे व्यक्तिगत संस्करण कहा जाता है। –

संबंधित मुद्दे