js高级_120、进程与线程
进程:
程序的一次执行,它占有一片独立的内存空间。
可以任务管理器查看所有进程。
线程
是进程内的一个独立执行单位。
是程序执行的一个完整流程。
是cpu的最小调度单位。
何为多进程与多线程?
多进程运行 :一应用程序可以同时启动多个实例运行。
多线程:在一个进程内,同时有多个线程运行。
相关知识
应用程序必须运行在某个进程的某个线程上。
一个进程至少有一个运行的线程:主线程,进程启动后自动创建。
一个进程中也可以同时运行多个线程,也就说这个程序是多线程运行的。
一个进程内的数据可以供其内部的所有线程共享。
多个进程之间的数据是不能直接共享的。
线程池 (thread pool):保存多个线程的容器,实现线程对象的反复利用(复用)。
多线程优点和缺点
优点
能有些提升cpu使用率。
缺点
创建多线程开销。
线程切换开销。
死锁与状态同步问题。
死锁就是没有线程去唤醒阻塞的线程。导致线程一直就是waiting。
单线程优点和缺点
优点
顺序编程简单易懂
缺点
效率低
js是单线程还是多线程
js是单线程运行,但是H5中的Web Workers可以多线程。
浏览器是单线程还是多线程
浏览器是多线程运行的。
## 浏览器是单进程还是多进程
有的多进程,有的单进程。