js之线程机制与事件机制
1.进程(process):程序的一次执行,它占有一片独有的内存空间,可以通过windows任务管理查看进程
2.线程(thread):1)是进程内一个独立运行的单元;2)是程序执行的一个完整流程;3)是CPU最小的调度单位
相关知识:
1.应用程序必须运行在某个进程的某个线程上
2.一个进程中至少有一个运行的线程(:主线程),进程启动后自动创建
3.一个进程中也可以同时运行多个线程,我们会说程序是多线程运行的
4.一个进程内的数据可以供其中的多个线程直接共享
5.多个进程之间是不能进行数据共享的
6.线程池(thread pool):保存多个线程对象的容器,实现线程对象的反复利用
比较单线程与多线程?
多线程:
优点: 能够有效提高CPU的利用率
缺点:1)创建多线程开销;2)切换线程的开销;3)死锁和状态同步问题
单线程:
优点:顺序编程简单易懂
缺点:效率低
JS是单线程还是多线程?
js是单线程运行
但是使用H5中的Web Worker可以多线程运行
浏览器是多线程的还是单线程的?
浏览器是多线程运行的
浏览器是单进程的还是多进程?
有单进程也有多进程
多进程:chrome 新版IE
单进程:firefox 老板IE