কম্পিউটার টিউটোরিয়াল

HTML5 Web Workers কেন উপকারী?

জাভাস্ক্রিপ্ট সিংগেল-থ্রেডেড এনভায়রনমেন্টে চলার জন্য ডিজাইন করা হয়েছে, অর্থাৎ একাধিক স্ক্রিপ্ট একসাথে চলতে পারে না। এমন পরিস্থিতি কল্পনা করুন যেখানে আপনাকে UI ইভেন্ট হ্যান্ডেল করতে হচ্ছে, বড় পরিমাণ API ডেটা কোয়েরি ও প্রসেস করতে হচ্ছে, এবং DOM ম্যানিপুলেট করতে হচ্ছে।

CPU ইউটিলাইজেশন বেশি থাকলে জাভাস্ক্রিপ্ট ব্রাউজার হ্যাং করে দেবে। একটি সিম্পল উদাহরণ যেখানে জাভাস্ক্রিপ্ট বড় লুপ চালাচ্ছে:

<!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 কেন উপকারী?
বড় লুপ চালালে UI ব্লক হয়

উপরোক্ত সমস্যাটি Web Workers দিয়ে সমাধান করা যায়, যারা কমপিউটেশনালি ব্যয়বহুল টাস্ক আলাদা থ্রেডে চালিয়ে UI-কে ইন্টারাপ্ট করবে না।

  1. HTML5 রেসপন্সিভ ওয়েব ডিজাইন

  2. কেন সাইটগুলো ফ্ল্যাশ ত্যাগ করছে (এবং HTML5-র দিকে যাচ্ছে)

  3. Ruby on Rails মাস্টারিং: এই প্রমাণিত ফ্রেমওয়ার্ক দিয়ে দ্রুত পাওয়ারফুল ওয়েব অ্যাপ বানান

  4. সফটওয়্যার আপডেট কেন গুরুত্বপূর্ণ: আপনার ডেটা এবং সিস্টেম সিকিউরিটি রক্ষা