2011-08-06 11 views
5

का उपयोग करके बहु थ्रेडिंग मैं एक आईफ्रेम का उपयोग करके बहु थ्रेडिंग अनुकरण करने की कोशिश कर रहा हूं लेकिन मुझे ऐसी स्थिति में आ गया है जो मुझे नहीं पता कि यह वास्तव में आईफ्रेम प्रक्रिया (थ्रेड) का उपयोग करता है या नहीं।एक आईफ्रेम

उदाहरण के लिए, यदि मैं एक आईफ्रेम के अंदर एक विधि कहता हूं, तो क्या यह आईफ्रेम द्वारा बनाए गए थ्रेड का उपयोग करेगा या यह मुख्य पैरेंट विंडो थ्रेड का उपयोग करके चलाएगा?

यदि यह उत्तरार्द्ध है, तो यह इतना है कि आइफ्रेम प्रणाली को बुलाती है (ताकि कार्यक्रम माता पिता खिड़की के उस से एक अलग धागा उपयोग करता है)

संपादित गुंजाइश बदलना संभव है: शायद मैं इस पर अधिक स्पष्ट होना चाहिए था, लेकिन मैं वेबवर्कर्स का उपयोग नहीं करना चाहता क्योंकि मुझे DOM तत्वों तक पहुंच नहीं है।

उत्तर

4

यदि आप कुछ पृष्ठभूमि कार्यों को चलाने के लिए चाहते हैं तो बस WebWorkers का उपयोग करें।

आम तौर पर आपको बहु थ्रेड जेएस कोड की आवश्यकता नहीं होती है। आपको इसके बजाय इवेंट लूप का उपयोग करना चाहिए।

+0

मैं ईवेंट लूप के बारे में सहमत हूं, धागे प्रसंस्करण शक्ति नहीं जोड़ते हैं, वे केवल कोड के निष्पादन को विभाजित करने का साधन हैं। Google थ्रेडिंग पर ईवेंट की शक्ति को समझने के लिए कैसे node.js का उपयोग किया जा रहा है। –

+0

@ केविन हैकन्सन हाँ मैं सहमत हूं। लेकिन धागे के लिए मुख्य उपयोग पृष्ठभूमि में गणना के लंबे टुकड़े चल रहा है। आप गणना के लंबे समय से चलने वाले टुकड़ों के लिए इवेंट लूप का उपयोग नहीं कर सकते हैं, आप उन्हें एक नई प्रक्रिया में फेंक देंगे। ब्राउज़र में हम प्रक्रियाएं नहीं बना सकते हैं इसलिए हम वेब श्रमिकों का उपयोग करते हैं – Raynos

+0

मेरा एप्लिकेशन सिर्फ गणनाओं की तुलना में थोड़ा अधिक जटिल है। मैं पैरेंट विंडो के भीतर एसवीजी तत्वों (स्केल, अनुवाद, घुमाने, आदि) को संभालने वाले कई धागे प्राप्त करने में सक्षम होना चाहता हूं। – fogy

1

एमडीएन दस्तावेज़ों से Using web workers पर एक नज़र डालें।

कार्यकर्ता इंटरफ़ेस वास्तविक ओएस स्तर के धागे spawns, और संगामिति कर सकते हैं अपने कोड में कारण रोचक प्रभाव अगर आप सावधान कर रहे हैं। हालांकि, वेब श्रमिकों के मामले में , ध्यान से नियंत्रित संचार अन्य धागे के साथ बिंदुओं का अर्थ है कि समरूपता समस्याओं का कारण बनना वास्तव में बहुत कठिन है। गैर-थ्रेड सुरक्षित घटकों या डीओएम तक पहुंच नहीं है और आपको धारावाहिक वस्तुओं के माध्यम से धागे के अंदर और बाहर विशिष्ट डेटा पास करना होगा। तो आपको अपने कोड में समस्याओं का कारण बनने के लिए वास्तव में कड़ी मेहनत करनी है।

जॉन Resig इस विषय पर 2009 में Computing with JavaScript Web Workers n वापस लिखा था। हालांकि, When can I use के अनुसार, आईई 10 तक कोई आईई समर्थन नहीं है, इसलिए यह आपकी आवश्यकताओं के अनुरूप नहीं हो सकता है।

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