क्या स्कैला मानक भाषा के हिस्से के रूप में समानांतर मानचित्र संचालन निष्पादित करने का एक तरीका प्रदान करता है?समांतर नक्शा संचालन?
उदाहरण के लिए, दिए गए:
scala> val a = List((1,2), (3,4), (3,6))
a: List[(Int, Int)] = List((1,2), (3,4), (3,6))
मैं कर सकते हैं:
scala> a.map(tup => tup._1 + tup._2)
res0: List[Int] = List(3, 7, 9)
हालांकि, मेरी जानकारी के अनुसार इस सूची पर प्रदान समारोह क्रमिक रूप से वस्तुओं नक्शे के लिए। क्या प्रत्येक तत्व पर एक अलग थ्रेड (या समतुल्य) में फ़ंक्शन लागू करने का एक अंतर्निहित तरीका है, और उसके परिणामस्वरूप परिणामस्वरूप सूची में एकत्र हुए?
List' का प्रयोग न करें 'वितरित (' par') के संचालन के लिए। आपको 'इंडेक्सेडस्क' का उपयोग करना चाहिए। – senia
@senia - क्या आप जल्द ही इस बारे में विस्तृत जानकारी दे सकते हैं कि सूची का उपयोग क्यों करना इस मामले में एक बुरा विचार है? मुझे परिणामस्वरूप सूची को किसी भी तरह से आदेश देने की आवश्यकता नहीं है। – csvan
यह 'par' विधि' समानांतर संग्रह 'के तरीके के कारण है। 'वेक्टर' के लिए (डिफ़ॉल्ट 'इंडेक्स किए गए' कार्यान्वयन), 'रेंज' और 'ऐरे' यह हल्के रैपर के साथ प्रारंभिक संग्रह को लपेटता है। लेकिन 'सूची' के लिए इसे एक पूरी तरह से नया संग्रह बनाना चाहिए, इससे प्रदर्शन समस्या हो सकती है। देखें [समांतर संग्रह बनाना] (http://docs.scala-lang.org/overviews/parallel-collections/overview.html#creating_a_parallel_collection)। – senia