web workers超强悍的新技术

最近学习HTML5的时候发现这个技术,不得不惊叹。

什么是Web Workers?

Web WorkersWEB前端网页上的脚本提供了一种能在后台进程中运行的方法。一旦它被创建,Web Workers就可以通过postMessage()向任务池发送任务请求,执行完之后再通过postMessage()返回消息给创建者指定的事件处理程序(通过onmessage进行捕获)

Web Workers进程能够在不影响用户界面的情况下处理任务,并且,它还可以使用XMLHttpRequest来处理I/O,无论responseXMLchannel属性是否为null

注意:通常,后台进程(包括web workers进程)不能对DOM进行操作。如果希望后台程序处理的结果能够改变DOM,只能通过返回消息给创建者的回调函数进行处理。

更详细介绍:点击这里

哪些浏览器支持Web Workers?

  • FireFox3.5(Firefox 3.1 support for DOM workers)
  • Safari4
  • 支持html5的浏览器

Web Workers性能测试(请使用支持该技术的浏览器浏览)

workers不仅仅能够让我们未来的web APP更加MVC。同时,他的异步后端运算给web程序带来更多可能性。

到底有什么好处? mozbox的Paul Rouget用模拟退火算法(Simulated annealing)给我们演示了workers的优越性。

1. 不了解 Simulated annealing 的可以先看看这个图形化的演示过程,了解的同学直接看第二步

http://people.mozilla.com/~prouget/demos/simulatedAnnealing/index.xhtml

先load,然后start

2. 确定一下,您有没有安装firefox 3.5 beta3

3. 看看worker的演示吧.

http://people.mozilla.com/~prouget/demos/worker_and_simulatedannealing/index.xhtml

可以看到如果没有使用workers,同时计算6个Simulated annealing,可以发现浏览器已经卡死,gif图片也停止播放。

当我们开启workers的演示后,浏览器不仅仅没有卡死,同时gif图片也正常播放,并且结果的现实比没有开启workers前快不少。

4 Responses to web workers超强悍的新技术 »

  1. 万戈 评论 2009-10-19 17:27

    有意思哈,不过支持的浏览器太少了点

    回复

  2. 小T 评论 2009-10-20 11:57

    有点高深的样子,不过听起来很实用 :o hh:

    回复

  3. agri521 评论 2009-11-01 10:30

    哈哈,换界面了呀,比先前的那个漂亮多了。

    回复

  4. aunsen 评论 2009-11-03 22:55

    狐狸转晕了 :lol:

    回复

Leave a Reply

Email address is not published

You should say a Chinese word to pass spam check. If you can not input Chinese, just copy 你好 and paste them into comment text box.