वेब कार्यकर्ता: Difference between revisions
(Created page with "{{short description|JavaScript script}} {{Infobox technology standard | title = Web Workers | status = Living Standard | year_started = {{Start date|2009|0...") |
No edit summary |
||
(14 intermediate revisions by 4 users not shown) | |||
Line 20: | Line 20: | ||
}} | }} | ||
[[ विश्वव्यापी वेब संकाय ]] ( | [[ विश्वव्यापी वेब संकाय ]] (डब्ल्यू3सी) और [[वेब हाइपरटेक्स्ट एप्लिकेशन टेक्नोलॉजी वर्किंग ग्रुप]] (डब्ल्यूएचएटीडब्ल्यूजी) द्वारा परिभाषित एक वेब कार्यकर्ता, एक [[HTML|एचटीएमएल]] पृष्ठ से निष्पादित एक [[जावास्क्रिप्ट]] स्क्रिप्टिंग भाषा है जो [[पृष्ठभूमि प्रक्रिया]] में चलती है, स्वतंत्र रूप से उन स्क्रिप्ट से जिन्हें उसी एचटीएमएल पृष्ठ से भी निष्पादित किया जा सकता है।<ref name="WHATWG">{{citation |title=Web Workers |url=https://html.spec.whatwg.org/multipage/workers.html |publisher=[[Web Hypertext Application Technology Working Group|WHATWG]] |access-date=2023-01-02}}</ref> वेब कार्यकर्ता अधिकांशतः बहु-कोर [[CPU|सीपीयू]] का अधिक प्रभावी ढंग से उपयोग करने में सक्षम होते हैं।<ref>{{cite web|url=https://html.spec.whatwg.org/multipage/workers.html#delegation|title=एचटीएमएल लिविंग स्टैंडर्ड|date=30 January 2017|website=Html.spec.whatwg.org|access-date=31 January 2017}}</ref> | ||
विश्वव्यापी वेब संकाय और डब्ल्यूएचएटीडब्ल्यूजी वेब कार्यकर्तां को लंबे समय तक चलने वाली स्क्रिप्ट के रूप में देखते हैं जो क्लिक या अन्य उपयोगकर्ता द्वारा बातचीत का जवाब देने वाली स्क्रिप्ट से बाधित नहीं होती हैं। ऐसे कार्यकर्तायों को उपयोगकर्ता की गतिविधियों से बाधित होने से बचाने के लिए वेब पेजों को उसी समय उत्तरदायी रहने देना चाहिए जब वे पृष्ठभूमि में लंबे समय तक कार्य कर रहे हों। | |||
वेब कार्यकर्ता विनिर्देश एचटीएमएल जीवन स्तर का भाग है।<ref name="WHATWG" /> | |||
== सिंहावलोकन == | == सिंहावलोकन == | ||
जैसा कि | जैसा कि वेब हाइपरटेक्स्ट एप्लिकेशन टेक्नोलॉजी वर्किंग ग्रुप द्वारा कल्पना की गई है, वेब कार्यकर्ता अपेक्षाकृत भारी वजन वाले हैं और बड़ी संख्या में उपयोग करने का संकल्प नहीं रखते हैं। उच्च स्टार्ट-अप प्रदर्शन लागत और उच्च प्रति-इंस्टेंस मेमोरी लागत के साथ उनके लंबे समय तक जीवित रहने का संकल्प है।<ref name="WHATWG"/> | ||
वेब | वेब कार्यकर्ता एचटीएमएल प्रलेख की स्क्रिप्ट के संदर्भ से बाहर चलते हैं। परिणामस्वरूप, जबकि उनके पास प्रलेख ऑब्जेक्ट मॉडल (डीओएम) तक पहुंच नहीं है, वे जावास्क्रिप्ट प्रोग्रामों के समवर्ती निष्पादन (कंप्यूटर विज्ञान) की सुविधा प्रदान कर सकते हैं। | ||
== सुविधाएँ == | == सुविधाएँ == | ||
[[संदेश देना]] के माध्यम से वेब | [[संदेश देना]] के माध्यम से वेब कार्यकर्ता मुख्य प्रलेख के साथ अंत:क्रिया करते हैं। निम्न कोड एक कार्यकर्ता बनाता है जो दी गई फ़ाइल में जावास्क्रिप्ट को निष्पादित करेगा। | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
var worker = new Worker("worker_script.js"); | var worker = new Worker("worker_script.js"); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
कार्यकर्ता को एक संदेश भेजने के लिए, <code> | कार्यकर्ता को एक संदेश भेजने के लिए, कार्यकर्ता वस्तु के <code>पोस्टमेसेज</code> विधि का उपयोग नीचे दिखाए गए अनुसार किया जाता है। | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
Line 43: | Line 42: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<code> | <code>संदेश पर</code> गुण कार्यकर्ता से जानकारी प्राप्त करने के लिए ईवेंट हैंडलर का उपयोग करता है। | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
Line 61: | Line 60: | ||
== उदाहरण == | == उदाहरण == | ||
वेब | वेब कार्यकर्ता का सबसे सरल उपयोग यूजर इंटरफेस को बाधित किए बिना कम्प्यूटेशनल रूप से महंगा कार्य करने के लिए है। | ||
इस उदाहरण में, मुख्य दस्तावेज़ [[प्रमुख संख्या]] | इस उदाहरण में, मुख्य दस्तावेज़ [[प्रमुख संख्या|अभाज्य संख्याओ]] की गणना करने के लिए एक वेब कार्यकर्ता को जन्म देता है, और उत्तरोत्तर सबसे हाल ही में पाए गए अभाज्य संख्याओ को प्रदर्शित करता है। | ||
मुख्य पृष्ठ इस प्रकार है: | मुख्य पृष्ठ इस प्रकार है:<syntaxhighlight lang="html"> | ||
< | |||
<!DOCTYPE html> | <!DOCTYPE html> | ||
< | <html> | ||
< | <head> | ||
< | <title>Worker example: One-core computation</title> | ||
</ | </head> | ||
< | <body> | ||
<p> | <p>The highest prime number discovered so far is: <output id="result"></output></p> | ||
< | <script> | ||
var | var worker = new Worker('worker.js'); | ||
worker.onmessage = function (event) { | |||
document.getElementById (' | document.getElementById('result').textContent = event.data; | ||
}; | }; | ||
</ | </script> | ||
</ | </body> | ||
</html> | </html> | ||
</ | </syntaxhighlight><p><code>कार्यकर्ता()</code> कंस्ट्रक्टर कॉल एक वेब कार्यकर्ता बनाता है और उस वेब <code>कार्यकर्ता</code> का प्रतिनिधित्व करने वाला एक कार्यकर्ता वस्तु देता है, जिसका उपयोग वेब कार्यकर्ता के साथ संवाद करने के लिए किया जाता है। उस वस्तु का <code>संदेश पर</code> इवेंट हैंडलर कोड को वेब कार्यकर्ता से संदेश प्राप्त करने की अनुमति देता है।</p><p>वेब कार्यकर्ता स्वयं इस प्रकार है:</p><syntaxhighlight lang="javascript"> | ||
वेब | |||
<syntaxhighlight lang="javascript"> | |||
var n = 1; | var n = 1; | ||
var end_value = 10**7; | var end_value = 10**7; | ||
Line 98: | Line 92: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
पृष्ठ पर वापस संदेश | संदेश को पृष्ठ पर वापस भेजने के लिए, अभाज्य मिलने पर संदेश पोस्ट करने के लिए ,<code>पोस्टमैसेज()</code> विधि का उपयोग किया जाता है।<ref name="WHATWG"/> | ||
== समर्थन == | == समर्थन == | ||
यदि ब्राउज़र वेब | यदि ब्राउज़र वेब कार्यकर्ता का समर्थन करता है, तो वर्कर गुण ग्लोबल विंडो ऑब्जेक्ट पर उपलब्ध होगे।<ref>"HTML5 Up and Running" Mark Pilgrim. O'Reilly/Google Press. August 2010</ref> यदि [[वेब ब्राउज़र]] इसका समर्थन नहीं करता है तो कार्यकर्ता गुण अपरिभाषित होगा। | ||
निम्न उदाहरण कोड एक ब्राउज़र पर वेब | निम्न उदाहरण कोड एक ब्राउज़र पर वेब कार्यकर्ता समर्थन के लिए जाँच करता है | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
Line 111: | Line 103: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
वेब | वेब कार्यकर्ता वर्तमान में गूगल क्रोम, [[ओपेरा (वेब ब्राउज़र)]], [[ माइक्रोसॉफ्ट बढ़त ]], [[इंटरनेट एक्सप्लोरर]] (संस्करण 10), [[mozilla|मोज़िला]] [[फ़ायरफ़ॉक्स]] और सफारी (वेब ब्राउज़र) द्वारा समर्थित हैं।<ref name="into html5">"Introducing HTML5", Lawson, B. and Sharp, R., 2011.</ref><ref>"HTML5 and CSS3" Brian P. Hogan. The Pragmatic Programmers, LLC 2010.</ref><ref>{{cite web |url=https://caniuse.com/#search=web%20worker |website=caniuse.com |title=क्या मैं उपयोग कर सकता हूँ... वेब वर्कर|access-date=30 September 2019}}</ref> [[आईओएस (एप्पल)]] के लिए मोबाइल सफारी ने आईओएस 5 के पश्चात से वेब कार्यकर्ता का समर्थन किया है। एंड्रॉइड (ऑपरेटिंग सिस्टम) ब्राउज़र ने पहले एंड्रॉइड 2.1 में वेब कार्यकर्ता का समर्थन करता था, लेकिन एंड्रॉइड 4.4 में पुनर्स्थापित होने से पहले एंड्रॉइड संस्करण 2.2-4.3 में समर्थन हटा दिया गया था।<ref>{{Cite web |url=http://www.isogenicengine.com/2010/10/25/spotlight-benchmarking-android-2-1-with-web-workers/# |title=Spotlight: Benchmarking Android 2.1 with Web Workers - Isogenic Engine |access-date=10 July 2011 |archive-url=https://web.archive.org/web/20131019092816/http://www.isogenicengine.com/2010/10/25/spotlight-benchmarking-android-2-1-with-web-workers/# |archive-date=19 October 2013 |url-status=dead |df=dmy-all }}</ref><ref>{{cite web|url=http://caniuse.com/#search=worker|title=Can I use... Support tables for HTML5, CSS3, etc|website=caniuse.com|access-date=10 June 2017}}</ref> | ||
==संदर्भ== | ==संदर्भ== | ||
{{Reflist}} | {{Reflist}} | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
* [http://dev.w3.org/html5/workers/ | * [http://dev.w3.org/html5/workers/ वेब कार्यकर्ता - W3C] | ||
* [http://www.whatwg.org/specs/web-workers/current-work/ | * [http://www.whatwg.org/specs/web-workers/current-work/ वेब कार्यकर्ता - डब्ल्यूएचएटीडब्ल्यूजी] | ||
* [https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers | * [https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers वेब कार्यकर्ता का उपयोग] – मोज़िला डेवलपर नेटवर्क | ||
[[Category: | [[Category:Articles with invalid date parameter in template]] | ||
[[Category:Collapse templates]] | |||
[[Category:Created On 26/05/2023]] | [[Category:Created On 26/05/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] |
Latest revision as of 14:28, 15 June 2023
Status | Living Standard |
---|---|
Year started | 3 April 2009 |
First published | 3 April 2009 |
Organization |
|
Committee | WHATWG |
Editors | Ian Hickson |
Domain | |
Website |
|
विश्वव्यापी वेब संकाय (डब्ल्यू3सी) और वेब हाइपरटेक्स्ट एप्लिकेशन टेक्नोलॉजी वर्किंग ग्रुप (डब्ल्यूएचएटीडब्ल्यूजी) द्वारा परिभाषित एक वेब कार्यकर्ता, एक एचटीएमएल पृष्ठ से निष्पादित एक जावास्क्रिप्ट स्क्रिप्टिंग भाषा है जो पृष्ठभूमि प्रक्रिया में चलती है, स्वतंत्र रूप से उन स्क्रिप्ट से जिन्हें उसी एचटीएमएल पृष्ठ से भी निष्पादित किया जा सकता है।[1] वेब कार्यकर्ता अधिकांशतः बहु-कोर सीपीयू का अधिक प्रभावी ढंग से उपयोग करने में सक्षम होते हैं।[2]
विश्वव्यापी वेब संकाय और डब्ल्यूएचएटीडब्ल्यूजी वेब कार्यकर्तां को लंबे समय तक चलने वाली स्क्रिप्ट के रूप में देखते हैं जो क्लिक या अन्य उपयोगकर्ता द्वारा बातचीत का जवाब देने वाली स्क्रिप्ट से बाधित नहीं होती हैं। ऐसे कार्यकर्तायों को उपयोगकर्ता की गतिविधियों से बाधित होने से बचाने के लिए वेब पेजों को उसी समय उत्तरदायी रहने देना चाहिए जब वे पृष्ठभूमि में लंबे समय तक कार्य कर रहे हों।
वेब कार्यकर्ता विनिर्देश एचटीएमएल जीवन स्तर का भाग है।[1]
सिंहावलोकन
जैसा कि वेब हाइपरटेक्स्ट एप्लिकेशन टेक्नोलॉजी वर्किंग ग्रुप द्वारा कल्पना की गई है, वेब कार्यकर्ता अपेक्षाकृत भारी वजन वाले हैं और बड़ी संख्या में उपयोग करने का संकल्प नहीं रखते हैं। उच्च स्टार्ट-अप प्रदर्शन लागत और उच्च प्रति-इंस्टेंस मेमोरी लागत के साथ उनके लंबे समय तक जीवित रहने का संकल्प है।[1]
वेब कार्यकर्ता एचटीएमएल प्रलेख की स्क्रिप्ट के संदर्भ से बाहर चलते हैं। परिणामस्वरूप, जबकि उनके पास प्रलेख ऑब्जेक्ट मॉडल (डीओएम) तक पहुंच नहीं है, वे जावास्क्रिप्ट प्रोग्रामों के समवर्ती निष्पादन (कंप्यूटर विज्ञान) की सुविधा प्रदान कर सकते हैं।
सुविधाएँ
संदेश देना के माध्यम से वेब कार्यकर्ता मुख्य प्रलेख के साथ अंत:क्रिया करते हैं। निम्न कोड एक कार्यकर्ता बनाता है जो दी गई फ़ाइल में जावास्क्रिप्ट को निष्पादित करेगा।
var worker = new Worker("worker_script.js");
कार्यकर्ता को एक संदेश भेजने के लिए, कार्यकर्ता वस्तु के पोस्टमेसेज
विधि का उपयोग नीचे दिखाए गए अनुसार किया जाता है।
worker.postMessage("Hello World!");
संदेश पर
गुण कार्यकर्ता से जानकारी प्राप्त करने के लिए ईवेंट हैंडलर का उपयोग करता है।
worker.onmessage = function(event) {
alert("Received message " + event.data);
doSomething();
}
function doSomething() {
//do work
worker.postMessage("Work done!");
}
worker.terminate();
एक बार एक कार्यकर्ता को समाप्त कर दिया जाता है, यह दायरे से बाहर हो जाता है और इसे संदर्भित करने वाला चर अपरिभाषित हो जाता है; इस बिंदु पर जरूरत पड़ने पर एक नया कार्यकर्ता बनाया जाना है।
उदाहरण
वेब कार्यकर्ता का सबसे सरल उपयोग यूजर इंटरफेस को बाधित किए बिना कम्प्यूटेशनल रूप से महंगा कार्य करने के लिए है।
इस उदाहरण में, मुख्य दस्तावेज़ अभाज्य संख्याओ की गणना करने के लिए एक वेब कार्यकर्ता को जन्म देता है, और उत्तरोत्तर सबसे हाल ही में पाए गए अभाज्य संख्याओ को प्रदर्शित करता है।
मुख्य पृष्ठ इस प्रकार है:
<!DOCTYPE html>
<html>
<head>
<title>Worker example: One-core computation</title>
</head>
<body>
<p>The highest prime number discovered so far is: <output id="result"></output></p>
<script>
var worker = new Worker('worker.js');
worker.onmessage = function (event) {
document.getElementById('result').textContent = event.data;
};
</script>
</body>
</html>
कार्यकर्ता()
कंस्ट्रक्टर कॉल एक वेब कार्यकर्ता बनाता है और उस वेब कार्यकर्ता
का प्रतिनिधित्व करने वाला एक कार्यकर्ता वस्तु देता है, जिसका उपयोग वेब कार्यकर्ता के साथ संवाद करने के लिए किया जाता है। उस वस्तु का संदेश पर
इवेंट हैंडलर कोड को वेब कार्यकर्ता से संदेश प्राप्त करने की अनुमति देता है।
वेब कार्यकर्ता स्वयं इस प्रकार है:
var n = 1;
var end_value = 10**7;
search: while (n <= end_value) {
n++;
for (var i = 2; i <= Math.sqrt(n); i++)
if (n % i == 0)
continue search;
// found a prime!
postMessage(n);
}
संदेश को पृष्ठ पर वापस भेजने के लिए, अभाज्य मिलने पर संदेश पोस्ट करने के लिए ,पोस्टमैसेज()
विधि का उपयोग किया जाता है।[1]
समर्थन
यदि ब्राउज़र वेब कार्यकर्ता का समर्थन करता है, तो वर्कर गुण ग्लोबल विंडो ऑब्जेक्ट पर उपलब्ध होगे।[3] यदि वेब ब्राउज़र इसका समर्थन नहीं करता है तो कार्यकर्ता गुण अपरिभाषित होगा।
निम्न उदाहरण कोड एक ब्राउज़र पर वेब कार्यकर्ता समर्थन के लिए जाँच करता है
function browserSupportsWebWorkers() {
return typeof window.Worker === "function";
}
वेब कार्यकर्ता वर्तमान में गूगल क्रोम, ओपेरा (वेब ब्राउज़र), माइक्रोसॉफ्ट बढ़त , इंटरनेट एक्सप्लोरर (संस्करण 10), मोज़िला फ़ायरफ़ॉक्स और सफारी (वेब ब्राउज़र) द्वारा समर्थित हैं।[4][5][6] आईओएस (एप्पल) के लिए मोबाइल सफारी ने आईओएस 5 के पश्चात से वेब कार्यकर्ता का समर्थन किया है। एंड्रॉइड (ऑपरेटिंग सिस्टम) ब्राउज़र ने पहले एंड्रॉइड 2.1 में वेब कार्यकर्ता का समर्थन करता था, लेकिन एंड्रॉइड 4.4 में पुनर्स्थापित होने से पहले एंड्रॉइड संस्करण 2.2-4.3 में समर्थन हटा दिया गया था।[7][8]
संदर्भ
- ↑ 1.0 1.1 1.2 1.3 Web Workers, WHATWG, retrieved 2023-01-02
- ↑ "एचटीएमएल लिविंग स्टैंडर्ड". Html.spec.whatwg.org. 30 January 2017. Retrieved 31 January 2017.
- ↑ "HTML5 Up and Running" Mark Pilgrim. O'Reilly/Google Press. August 2010
- ↑ "Introducing HTML5", Lawson, B. and Sharp, R., 2011.
- ↑ "HTML5 and CSS3" Brian P. Hogan. The Pragmatic Programmers, LLC 2010.
- ↑ "क्या मैं उपयोग कर सकता हूँ... वेब वर्कर". caniuse.com. Retrieved 30 September 2019.
- ↑ "Spotlight: Benchmarking Android 2.1 with Web Workers - Isogenic Engine". Archived from the original on 19 October 2013. Retrieved 10 July 2011.
- ↑ "Can I use... Support tables for HTML5, CSS3, etc". caniuse.com. Retrieved 10 June 2017.
बाहरी संबंध
- वेब कार्यकर्ता - W3C
- वेब कार्यकर्ता - डब्ल्यूएचएटीडब्ल्यूजी
- वेब कार्यकर्ता का उपयोग – मोज़िला डेवलपर नेटवर्क