进程和线程间的关系
进程:操作系统分配内存的基本单位
线程:位于进程内部,是CPU执行代码的基本单位
一个进程至少有一个线程,也可以有多个,多个线程并发执行
Chrome浏览器的线程模型
Chrome中发起HTTP请求最多可以使用6个并发的线程;
Chrome中负责向页面中执行绘制任务(执行HTML/CSS/JS/事件处理等代码)的只有1个线程——UI主线程。
碰到如下的代码,就有问题了:
<button onclick="console.log(111)">1</button>
<script src="耗时.js"></script>
<button onclick="console.log(222)">2</button>
根本解决之道:
创建一个新的线程,去执行耗时的JS任务——与UI主线程并发执行。new Thread('x.js') —— 其它语言中的类似代码。
<button onclick="console.log(111)">按钮1</button> <!--<script src="js/5.js"></script>--> <script> //创建新的工作线程 new Worker('js/5.js'); </script> <button onclick="console.log(222)">按钮2</button>