Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[js] 第62天 有用过HTML5的WebWork吗?它主要解决了什么问题? #277

Open
haizhilin2013 opened this issue Jun 16, 2019 · 5 comments
Labels
js JavaScript

Comments

@haizhilin2013
Copy link
Collaborator

第62天 有用过HTML5的WebWork吗?它主要解决了什么问题?

@wenyejie
Copy link

用过, 做过一次IM系统
互相通讯, (解决长轮询/长连接等问题)

@forever-z-133
Copy link

用过一次 canvas 的 imageData 处理。
该期间也没啥别的交互,当时也没深究,还不清楚优劣。

@haizhilin2013 haizhilin2013 added the js JavaScript label Jun 18, 2019
@Vi-jay
Copy link

Vi-jay commented Jul 31, 2019

主要解决了单线程的问题 由于js执行环境是单线程 所以当处理cpu密集型问题时就没办法了 这时候就可以使用webwork开启一个子线程进行处理

@MrZ2019
Copy link

MrZ2019 commented Dec 30, 2020

用过一次 canvas 的 imageData 处理。
该期间也没啥别的交互,当时也没深究,还不清楚优劣。

@xiaoqiangz
Copy link

Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。在主线程运行的同时,Worker 线程在后台运行,两者互不干扰。等到 Worker 线程完成计算任务,再把结果返回给主线程。这样的好处是,一些计算密集型或高延迟的任务,被 Worker 线程负担了,主线程(通常负责 UI 交互)就会很流畅,不会被阻塞或拖慢。

Worker 线程一旦新建成功,就会始终运行,不会被主线程上的活动(比如用户点击按钮、提交表单)打断。这样有利于随时响应主线程的通信。但是,这也造成了 Worker 比较耗费资源,不应该过度使用,而且一旦使用完毕,就应该关闭。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
js JavaScript
Projects
None yet
Development

No branches or pull requests

6 participants