当前位置: 首页 > news >正文

js开启子线程及其使用

众所周知,js是单线程,但是可以开启子线程来帮忙处理一些数据,但是这个子线程是有限制的
1.必须是同源
2.完全受主线程控制
3.不能在子线程中操作dom节点
4.子线程没有window,可以使用self
5.等等
具体的查看官网
进程切换是要耗时间的,所以进程不宜开太多,一般等于CPU内核数最好,可以通过window.navigator.hardwareConcurrency来获取

使用方法
//主进程,也就是平时的普通js文件
console.log("我是主线程");
const myworker = new Worker("/js/child.js", { name: "myWorker" });
myworker.postMessage("Hello World");  //给子进程传值
myworker.onmessage = function (event) {console.log(event.data);   //接收子进程的传值
};
//子进程,子进程里面使用有很多限制,建议看官网
console.log("我是子线程");
self.addEventListener('message',function(e){var data = e.data;console.log(data)
},false)
self.postMessage("我是子线程发的信息");
http://www.lryc.cn/news/341294.html

相关文章:

  • excel办公系列-图表元素及其作用
  • rocketmq dashboard控制台中topic状态无法展示
  • GPT每日面试题-Typescript中type和interface的区别
  • python数据分析——大数据伦理风险分析
  • 配置 Trunk,实现相同VLAN的跨交换机通信
  • Python 植物大战僵尸
  • SpringBoot:实战项目TLIAS智能学习辅助系统1.1
  • ubuntu-meta-22.04桌面版+ros2-humble 镜像
  • 『大模型笔记』Code Example: Function Calling with ChatGPT
  • 【智能算法应用】混合粒子群算法求解CVRP问题
  • Python项目开发实战:飞机大战游戏(案例教程)
  • 音频压缩的方法有哪些?3种简单的压缩工具分享
  • 阿里云CentOS7 打开/关闭防火墙 开放端口
  • React 组件性能优化
  • jvm 马士兵 01 JVM简介,class文件结构
  • PostgreSQL自带的命令行工具02- createdb
  • 软件设计师-重点的构造型设计模式
  • Java面试问题及答案
  • STM32 01
  • 学习笔记:【QC】Android Q - phone 模块
  • webscoket+webrtc实现语音通话
  • PHP源码_众筹商城
  • 智能小程序 Ray 开发——表单组件 Button 和 Checkbox 实操讲解
  • 渗透之sql注入联合查询的注入
  • NLP transformers - 文本分类
  • QT 开发COM(ActiveX)组件基础介绍和方案验证
  • [1673]jsp在线考试管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • 每日一算法
  • Spring Cloud Gateway直接管理Vue.js的静态资源
  • 14.集合、常见的数据结构