जावास्क्रिप्ट में दृश्यमान धागे नहीं हैं (अभी तक - वर्कर थ्रेड आ रहे हैं, JavaScript and Threads में अधिक जानकारी देखें)।जावास्क्रिप्ट के "एकाधिक निष्पादन संदर्भ" कैसे काम करते हैं?
हालांकि, ऐसा लगता है कि इसमें कई निष्पादन संदर्भ होते हैं जो एक साथ मौजूद होते हैं - स्वतंत्र, जब आपके पास एकाधिक फ़ायरफ़ॉक्स विंडोज और एकाधिक फ़ायरफ़ॉक्स/आईई टैब होते हैं।
जब आपके पास किसी पृष्ठ पर एकाधिक iframes हैं, तो प्रत्येक का अपना निष्पादन संदर्भ होता है, लेकिन उन्होंने डेटा साझा किया है। यदि दो iframes एक ही डोमेन पर हैं, तो वे एक-दूसरे के डीओएम तक पहुंच सकते हैं और एक-दूसरे के कार्यों को कॉल कर सकते हैं। फिर भी, मैं गूगल पर एक शेड्यूलिंग मॉडल का एक विवरण नहीं मिल सका है, यानी कि क्या यह है:
- समानांतर/रिक्तिपूर्व, जिस स्थिति में - आप अस्थायी रूप से निलंबित कर सकते हैं? पारस्परिक बहिष्कार का कोई भी रूप?
- सहकारी, किस मामले में - कोई अन्य संदर्भ में कैसे उत्पन्न होता है?
- गैर-ओवरलैपिंग - यानी, मुख्य फ्रेम में एक ईवेंट हैंडलर को आईफ्रेम में इवेंट हैंडलर से पहले वापस लौटाया जाना चाहिए (और इसके विपरीत)?
तो सवाल यह है:
- वहाँ एक गारंटीकृत स्विचिंग मॉडल संदर्भ है?
- यदि नहीं, मौजूदा संदर्भ स्विचिंग मॉडल क्या हैं?
- ऐसा लगता है कि फ़ायरफ़ॉक्स और आईई में समान-टैब संदर्भों के बीच एक गैर-ओवरलैपिंग शेड्यूल है, और एक ही प्रक्रिया में विभिन्न टैब/विंडो के बीच सहकारी रूप से - लेकिन मुझे यकीन नहीं है।
- क्रोम (विभिन्न टैब के लिए प्रणाली का उपयोग करता है अनुसूचक कई कोर, जो समानांतर/रिक्तिपूर्व समूह में है का उपयोग कर सकते हैं, लेकिन मैं नहीं जानता कि क्या यह एक ही टैब में एकाधिक फ्रेम के लिए उपयोग करता है।
- मुझे पता नहीं है सफारी या ओपेरा के बारे में।
धन्यवाद!
(आप जानते हैं कि, लेकिन पूर्णता के लिए: यह फ़ायरफ़ॉक्स 3.5 है। चूंकि ब्राउज़र मल्टीप्रोसेस बन जाते हैं, क्योंकि क्रोम पहले से ही है और फ़ायरफ़ॉक्स कई संस्करण बाद में होगा, असंबद्ध टैब शायद स्वतंत्र रूप से चलेंगे, जबकि (कम से कम अभी के लिए) "संबंधित "ब्राउजर डेवलपर्स टैब" पूरा करने के लिए रन "सेवमेंटिक्स को संरक्षित करने का प्रयास करते हैं।) – Nickolay
निश्चित रूप से, लेकिन फ़ायरफ़ॉक्स अभी तक ऐसा नहीं करता है, और कम से कम फ़ायरफ़ॉक्स 4.0 तक नहीं होगा;) – sdwilsh
अलग-अलग टैब अलग प्रक्रियाओं पर हैं, कोई समस्या नहीं क्या आप वहां मौजूद हैं। एक टैब के भीतर इफ्रेम/फ्रेम अभी भी वही थ्रेड साझा करते हैं। जेएस डेवलपर्स अभी भी आसानी से सांस ले सकते हैं और सहमति के बारे में चिंता नहीं कर सकते हैं। –