فایل های جاوا اسکریپت در html

یکی از نقایصی که پیش از این (به خصوص برای برنامه های دارای کد سمت کاربر سنگین ) به جاوا اسکریپت وارد بود بحث پردازش موازی بود

ازآنجایی که پردازش های سمت کاربر به صورت single thread می بود، برنامه نویسان با استفاده از اجرای دستورات با وقفه های زمانی مشخص هم روندی و موازی بودن را شبیه سازی می کردند

و این امر باعث می شد در صورت بلاک شدن یک متد سایر قسمتهای برنامه از کار بیافتد ( مثلا هنگام استفاده از متد alert )

اما با امکانی که با نام web worker در html5 معرفی شده است ، می توان فایلهای جاوا اسکریپت را در یک thread کاملا مجزا اجرا نمود و از این وقایع جلوگیری کرد
بطور خلاصه  برای اجرای هم زمان چندین وظیفه  سمت کاربر از این روش استفاده می شود

:مثال


<!DOCTYPE html>
<html>
<body>

<p>Count numbers: <output id="result"></output></p>
<button onclick="startWorker()">Start Worker</button>
<button onclick="stopWorker()">Stop Worker</button>


<script>
var w;

function startWorker() {
    if(typeof(Worker) !== "undefined") {
        if(typeof(w) == "undefined") {
            w = new Worker("demo_workers.js");
        }
        w.onmessage = function(event) {
            document.getElementById("result").innerHTML = event.data;
        };
    }
}

function stopWorker() {
    w.terminate();
    w = undefined;
}
</script>

</body>
</html>

Comments

Popular posts from this blog

استان قم و نام های محله هایش

طراحی وب سایت حرفه ای با NODEJS

طراحی سایت در شهر گرگان