javascript实现多线程 Concurrent.Thread.js
2024-08-24 01:26:07
在这次我的项目中,因为前端要检测硬件加载并识别,再向后台请求发送数据,然后再返回的相应的配置文件!在这过程,要好时好几秒钟,严重影响体验效果,所以在网上靠看的方案,运用多线程去处理,这效果明显改善!
在这同步检测过程,效果就如for循环一个很大数字(模仿复杂的逻辑代码运算),卡在哪里,导致不了其他的操作!
大家可以先不用这库,测试一下如下代码看看效果:
<script>
var btn = document.querySelector('.clickBtn');
btn.addEventListener('click', function () {
alert('我要多久才可以弹出来啊!!!!')
});
for (var i = 0; i < 99999; i++) {
console.log(i);
}
</script>
因为虽然在点击按钮在前面,可是在javascript的实现是放在javascript的异步事件队列中,因此这时候要等到 for 循环完才 执行 alert(1);
这次用这个库的效果:
1 <script src="Concurrent.Thread.js"></script>
2 <script>
3 Concurrent.Thread.create(function () {
4 var btn = document.querySelector('.clickBtn');
5 btn.addEventListener('click', function () {
6 alert('我要多久才可以弹出来啊!!!!')
7 });
8 for (var i = 0; i < 99999; i++) {
9 console.log(i);
10 }
11 });
12 </script>
立刻点击按钮,马上又反应alert! 这就是多线程的么里所在......
这次项目,用到主要是这个库的提供的异步通讯:Concurrent.Thread提供了一个应用JavaScript 的异步通信方式实现的定制通信库,它被设计成当一个线程在等待服务器的响应时允许其它线程运行。这个通信库存于 Concurrent.Thread.Http。
参考的教程的用法如下:演示GET方式
< script type="text/javascript" src="Concurrent.Thread.js">< /script>
< script type="text/x-script.multithreaded-js">
var req = Concurrent.Thread.Http.get(url, ["Accept", "*"]);
if (req.status == 200) {
alert(req.responseText);
} else {
alert(req.statusText);
}
< /script>
至于更详细的用法,大家可以在网上查看更多的资料,去了解这个库的魅力所在!
最新文章
- Apple Pay的快速实现
- javascript面向对象(1)
- factor graph model
- Python基础之【第一篇】
- spring+mybatis多数据源切换
- hihocoder-1391&;&;北京网赛09 Countries(优先队列)
- IOS第五天(2:用户登录,回车的监听(代理模式UITextFieldDelegate)) 和关闭键盘
- get/post方式调用http接口
- Java中的操作日期的工具类
- BZOJ3122 随机数生成器
- python 包管理工具pip安装与使用
- JavaScript高级程序设计48.pdf
- WinForm中控件位置不随窗体大小的变化而改变
- 认识 Less
- 洛谷4月月赛R2
- springboot2.0 springcloud 断路器仪表盘支持
- “PurMVC”在Unity中的应用
- 【洛谷5月月赛】玩游戏(NTT,生成函数)
- 深入JVM系列(二)之GC机制、收集器与GC调优
- c模拟银行家资源分配算法