Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เหตุใด HTML5 Web Workers จึงมีประโยชน์


JavaScript ได้รับการออกแบบให้ทำงานในสภาพแวดล้อมแบบเธรดเดียว หมายความว่าสคริปต์หลายตัวไม่สามารถทำงานพร้อมกันได้ พิจารณาสถานการณ์ที่คุณต้องจัดการกับเหตุการณ์ UI สืบค้นและประมวลผลข้อมูล API จำนวนมาก และจัดการ DOM

JavaScript จะหยุดเบราว์เซอร์ของคุณในสถานการณ์ที่มีการใช้งาน CPU สูง เรามาดูตัวอย่างง่ายๆ ที่ Javascript ทำงานวนไปวนมา:

<!DOCTYPE HTML>
<html>
   <head>
      <title>Big for loop</title>
      <script>
         function bigLoop(){
            for (var i = 0; i <= 10000; i += 1){
               var j = i;
            }
            alert("Completed " + j + "iterations" );
         }
         function sayHello(){
            alert("Hello sir...." );
         }
      </script>
   </head>
   <body>
      <input type = "button" onclick = "bigLoop();" value = "Big Loop" />
      <input type = "button" onclick = "sayHello();" value = "Say Hello" />
   </body>
</html>

เมื่อคลิกปุ่ม “Big Loop” จะมองเห็นสิ่งต่อไปนี้:

เหตุใด HTML5 Web Workers จึงมีประโยชน์

สถานการณ์ที่อธิบายข้างต้นสามารถจัดการได้โดยใช้ Web Workers ซึ่งจะทำงานทั้งหมดที่มีราคาแพงในการคำนวณโดยไม่ขัดจังหวะส่วนต่อประสานผู้ใช้และโดยทั่วไปจะทำงานบนเธรดแยกกัน