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

架设网站flash不显示企业网站设计中应注意产品发布功能优化

架设网站flash不显示,企业网站设计中应注意产品发布功能优化,艾米艾园wordpress,哪里做网站比较快Web Worker#xff08;消息传递机制#xff09; 定义#xff1a;是为了在浏览器中提供多线程支持#xff0c;允许 JavaScript 在后台线程运行#xff0c;而不阻塞主线程。它非常适合执行耗时的计算任务或处理大量数据#xff0c;避免主线程#xff08;通常是 UI 线程消息传递机制 定义是为了在浏览器中提供多线程支持允许 JavaScript 在后台线程运行而不阻塞主线程。它非常适合执行耗时的计算任务或处理大量数据避免主线程通常是 UI 线程被阻塞从而保证用户界面的流畅性。应用运行后台任务执行长时间运行的计算或操作诸如图像处理、文件处理、大数据分析等。它并不直接与网络通信或实时消息传递相关。原理创建Web Worker分配一个新的线程即后台线程它一个独立的执行上下文和主线程相互隔离且不能直接操作 DOM 或访问主线程中的变量它和主线程之间的通信是异步的通常是通过 postMessage 和 onmessage 方法进行数据传输。 // 创建一个 Worker const worker new Worker(worker.js);// 发送消息到 Worker worker.postMessage({ type: start, data: 1000 }); // 1000ms 的间隔// 接收 Worker 返回的消息 worker.onmessage (event) {console.log(event.data); // 输出 Worker 返回的数据 };// 停止 Worker worker.postMessage({ type: stop });应用计时器 // worker.js let setIntervaler null let count 0// 启动定时器 function start(timeout) {setIntervaler setInterval(() {postMessage({type: next,data: count})}, timeout) }// 停止定时器并关闭 Worker function stop() {clearInterval(setIntervaler)count 0 // 重置计数self.close() // 关闭 Worker }// 监听来自主线程的消息 self.addEventListener(message, (e) {let { type, data } e.data // 解构消息数据switch (type) {case start:start(data) // 启动定时器breakcase stop:stop() // 停止定时器breakdefault:break} })templatedivh1Web Worker 定时器/h1p计数: {{ count }}/pbutton clickstartTimer :disabledisRunning启动定时器/buttonbutton clickstopTimer :disabled!isRunning停止定时器/button/div /templatescript setup import { ref, onUnmounted } from vue;// 定义 Vue 组件的状态 const count ref(0); const isRunning ref(false);// 创建 Worker 实例 // src\utils\worker.js const worker new Worker(new URL(../utils/worker.js, import.meta.url));// 监听 Worker 返回的数据 worker.onmessage (e) {const { type, data } e.data;switch (type) {case ready:console.log(data); // Worker 已准备好break;case next:count.value data; // 更新计数器break;default:break;} };// 启动定时器 const startTimer () {worker.postMessage({ type: start, data: 1000 }); // 1000 毫秒1秒为定时器间隔isRunning.value true; // 更新状态为运行中 };// 停止定时器 const stopTimer () {worker.postMessage({ type: stop });isRunning.value false; // 更新状态为停止 };// 清理 Worker 实例 onUnmounted(() {worker.terminate(); // 组件销毁时终止 Worker }); /scriptstyle scoped button {margin: 10px;padding: 10px;font-size: 16px; } /styleWebSocket握手连接通信 定义是一种在客户端和服务器之间建立持久连接的协议它允许双方在连接建立后进行双向实时通信。WebSocket 主要用于需要实时数据更新的应用场景如实时聊天、在线游戏、股票行情、推送通知等应用客户端和服务器之间可以保持一个长连接允许实时交换数据适合实时应用程序的场景。原理用 HTTP 协议进行握手建立连接通信将转为基于 TCP 的实时双向通信全双工通信可以随时从客户端或服务器端通过 send 方法发送数据通过 onmessage 监听接收到的消息。 // 创建 WebSocket 连接 const socket new WebSocket(ws://example.com/socket);// 连接成功后发送消息 socket.onopen () {socket.send(Hello, server!); };// 接收来自服务器的消息 socket.onmessage (event) {console.log(Message from server:, event.data); };// 发送消息给服务器 socket.send(Another message);// 关闭连接 socket.close();总结 特性Web WorkerWebSocket主要目的后台线程处理计算任务避免阻塞主线程双向实时通信实时数据交换通信方式主线程与 Worker 通过消息传递客户端与服务器之间的持久连接双向通信适用场景长时间运行的计算任务数据处理实时应用程序如聊天、推送通知、在线游戏通信延迟主要用于计算任务没有即时通信需求适合低延迟、高实时性的双向通信关闭方式worker.terminate() 或 self.close()socket.close() 追更 Web Worker 是一个独立的线程当你调用 self.close() 时Worker 被终止所有的状态如定时器也会丢失。 因此想要再次启动定时器则不关闭Worker直到组件被销毁 // worker.js let setIntervaler null; let count 0; let isRunning false; // 标志定时器是否正在运行// 启动定时器 function start(timeout) {if (!isRunning) {isRunning true; // 标记定时器已启动setIntervaler setInterval(() {postMessage({type: next,data: count});}, timeout);} }// 停止定时器 function stop() {if (isRunning) {clearInterval(setIntervaler);isRunning false; // 标记定时器已停止} }// 监听来自主线程的消息 self.addEventListener(message, (e) {const { type, data } e.data;switch (type) {case start:start(data); // 启动定时器break;case stop:stop(); // 停止定时器break;default:break;} });templatedivh1Web Worker 定时器/h1p计数: {{ count }}/pbutton clickstartTimer :disabledisRunning启动定时器/buttonbutton clickstopTimer :disabled!isRunning停止定时器/button/div /templatescript setup import { ref, onUnmounted } from vue;// 定义 Vue 组件的状态 const count ref(0); const isRunning ref(false);// 创建 Worker 实例保持 Worker 持续存在 const worker new Worker(new URL(../utils/worker.js, import.meta.url));// 监听 Worker 返回的数据 worker.onmessage (e) {const { type, data } e.data;switch (type) {case ready:console.log(data); // Worker 已准备好break;case next:count.value data; // 更新计数器break;default:break;} };// 启动定时器 const startTimer () {if (!isRunning.value) {worker.postMessage({ type: start, data: 1000 }); // 1000 毫秒1秒为定时器间隔isRunning.value true; // 更新状态为运行中} };// 停止定时器 const stopTimer () {if (isRunning.value) {worker.postMessage({ type: stop });isRunning.value false; // 更新状态为停止} };// 清理 Worker 实例 onUnmounted(() {worker.terminate(); // 组件销毁时终止 Worker }); /scriptstyle scoped button {margin: 10px;padding: 10px;font-size: 16px; } /style
http://www.hkea.cn/news/14547303/

相关文章:

  • 网站备案应该怎么做寿光住房和城乡建设局网站
  • 网站备案在哪查扬州市城乡建设局网站
  • 做网站 然后百度推广视频建设网站首页
  • 智能科普网站平台建设方案哈尔滨公告
  • 彩票网站该怎么建设制作公司网页平台
  • 怎么自己做网站备案2024年最新时事新闻
  • 外贸公司 网站龙岗南联网站建设公司
  • 卖童书的网站该怎么做网站区域名怎么注册吗
  • 网站建设需求方案网站开发展示
  • 网站开发图书系统前台模板自己学习做网站6
  • 免费个人网站建站申请一下网站后台设置关键字
  • 重庆市建设工程信息官网站广州十大传媒公司
  • 专业做网站公司怎么样小程序网站开发
  • 全屏网站宽度深圳网站设计机构
  • 网站开发业绩海南省生态文明村建设促进会网站
  • wordpress建站访问提示不安全创意ppt模板大全
  • 盘锦网站制作公司做外国美食的视频网站
  • 自建站怎么接入支付淘宝seo关键词的获取方法有哪些
  • 网站开发网站维护这行业怎么样wordpress菜单优化插件
  • 国外网站怎么浏览上海软装设计公司排名
  • 建设网站得目的网页搭建初衷
  • 网站建设服务器端软件上下篇文章wordpress
  • 玛沁县网站建设公司网页制作软件dream
  • 做最好的导航网站厦门规划建设局网站
  • 滁州新橙科技网站建设和平天津网站建设
  • 海安网站设计公司青海省建设厅网站备案资料
  • 浙江建设监理协会网站建站平台和网站建设的区别
  • 地方网站建设电子商务网站建设实训室简介
  • linux主网站设计万网 网站超市
  • 桂林城乡建设局网站电商网店培训