您的位置:首页 > Web前端 > JavaScript

【js学习笔记-075】-----客户端javascript线程模型

2014-01-04 22:42 393 查看

【js学习笔记-----客户端javascript线程模型】

js语言核心并不包含任何线程机制,并且客户端js传统上没有定义任何线程机制。html5定义了一种作为后台线程的“Web Worker”,但是客户端js还像严格的单线程一样工作。甚至当可能并发执行的时候,客户端js也不会知晓是否真的有并行逻辑的执行。

单线程会使开发更简单,不会担心出现锁 死锁 况态条件

单线程执行意味着浏览器必须在脚本和事件句处理程序执行的时候停止响应用户输入。这为js程序员带来了负担,它意味着js脚本和事件处理程序不能运行太长时间。如果一个脚本执行计算密集任务,它将会给文档载入带来延迟,而用户无法在脚本完成前看到文档内容。如果事件处理程序执行计算密集的任务,浏览器可能变得无法响应,可能会导致用户认为浏览器崩溃了。

html5提供一种并发的控制方式,叫做web worker 。web worker是一个用来执行计算密集任务而不冻结用户界面的后台线程。运行在web worker线程里的代码不能访问文档内容,不能和主线线程或其它web worker共享状态,只可以和主线程和其他worker通过异步事件进行通信,所以主线程不能检测并发性,并且web worker不能修改js程序的基础单线程执行模型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: