首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

异步JS中的Web Workers

一、了解Web Workers 介绍 js 的 Workers 前, 先思考什么是异步javascript? 为什么需要异步javascript的存在?..., js引入了事件循环的异步编程机制, 解决同步单线程的阻塞问题....因此 Workers 是不能访问 DOM(窗口、文档、页面元素等等)的. 2、Web Wokers 通过使用 Web Workers,Web 应用程序可以在独立于主线程的后台线程中,运行一个脚本操作。...这样做的好处是可以在独立线程中执行费时的处理任务,从而允许主线程(通常是 UI 线程)不会因此被阻塞/放慢[MDN解释]. js中的Web Workers有三种类型: Dedicated Workers...但是 Web Workers API 提供了接口 WorkerGlobalScope 来访问一些Web API, 每个 WorkerGlobalScope 也都有自己的事件循环.

1.5K20

Run loop和Thread

我认为run loop就是较好的利用了这个事实的一种机制。一个run loop就是跑在单个线程上进行事件处理的循环。你在run loop上注册输入源,并指定当这些源有输入时应该执行的代码。...这就是说你不会遇到多线程的问题,这也是run loop非常有用的原因。 和线程的关系? 每个线程,包括应用的主线程都有一个相关联的run loop对象,在应用中你不需要显式的创建run loop对象。...Run loop的使用 默认情况下,iPhone上的所有触摸事件都会被main run loop放在队列里等待处理,所以你不需要对UI组件做额外的事情,而其他输入源需要一些额外的编码。...不适用run loop的情况 那什么时候不适合使用run loop呢?...然而,大部分情况下,我们的代码处理屏幕、socket或者计时器事件都非常快,这时使用main run loop处理起来更简单,也更安全。 编译自Run-loops vs.

51430
领券