①:一个进程由一个或多个线程组成。
②:打开任务管理器,可以看到每个进程的内存资源信息以及cpu占有率。所以进程是cpu资源分配的最小单位(系统会给它分配内存)
③:一般通用的说法:单线程与多线程,都是指在一个进程内的单和多。(所以核心还是得属于一个进程才行)
④: 浏览器是多进程的,每打开一个Tab页,就相当于创建了一个独立的浏览器进程。
强化记忆:在浏览器中打开一个网页相当于新起了一个进程(进程内有自己的多线程)
页面的渲染,JS的执行,事件的循环,都在这个进程内进行。
⑤:进程包括的线程有:
- GUI渲染线程 负责渲染浏览器界面,解析HTML,CSS,构建DOM树
- JS引擎线程 也称为JS内核,负责解析Javascript脚本,运行代码。
- 事件触发线程 将对应任务添加到事件线程中,当事件符合触发条件被触发事件触发时才执行
- 定时触发器线程 传说中的setInterval与setTimeout所在线程
- 异步http请求线程 在XMLHttpRequest在连接后通过浏览器新开一个线程请求
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。