(一)、进程与线程
1. 进程(process):
程序的一次执行, 它占有一片独有的内存空间,可以通过windows任务管理器查看进程
2. 线程(thread):
是进程内的一个独立的执行单元, CPU的基本调度单位, 是程序执行的一个完整流程
3. 进程与线程
* 一个进程中一般至少有一个运行的线程: 主线程,进程启动后自动创建
* 一个进程中也可以同时运行多个线程, 我们会说程序是多线程运行的
* 一个进程内的数据可以供其中的多个线程直接共享
* 多个进程之间的数据是不能直接共享的
线程池:保存多个线程对象的容器,实现线程对象的反复利用
多进程运行:一应用程序可以同时启动多个实例运行
多线程:在一个进程内,同时有多个线程运行
4.比较单线程与多线程
多线程
优点:能有效提升CPU的利用率
缺点:创建多线程开销/线程间切换开销/死锁与状态同步问题
单线程
优点:顺序变成简单易懂
缺点:效率低
5、js是单线程运行
但在H5中的web workers可以是多线程运行
6、浏览器运行是单进程还是多进程?
* 有的是单进程
* firefox
* 老版IE
* 有的是多进程
* chrome
* 新版IE
浏览器运行都是多线程运行的