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

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

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

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

 

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

 

html5提供一种并发的控制方式,叫做web worker  。web worker是一个用来执行计算密集任务而不冻结用户界面的后台线程。运行在web worker线程里的代码不能访问文档内容,不能和主线线程或其它web worker共享状态,只可以和主线程和其他worker通过异步事件进行通信,所以主线程不能检测并发性,并且web worker不能修改js程序的基础单线程执行模型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值