如题所述
在解释上面这些问题的之前,我们得理解线程的一个概念。
在现代操作系统中,线程是真正执行计算机操作的东西,真正在操作电脑的不是应用程序,不是进程,而是线程。
线程,是一个基本单位,执行操作的,是线程。
应用程序与进程里面,有很多线程,像负责人机交互的窗口,它主要由 GUI 线程来控制的。
以 IE 浏览器为例,即便你只开启一个页面,你也会发现,这个浏览器程序有非常多的线程,随着打开的标签和加载项越多,它所创建的线程也就越多。
我做过一些简单的应用软件开发,对于一般应用程序来说,我们也许不考虑线程的问题,因为,关于线程的调度,我个人会让系统和编译器来完成,而我做的,仅仅是为了编写实现这个软件的功能以及代码。
上面这个截图是我编写的一个小工具,用于学习一些计算机编码的一些问题,由于这个软件是我编写的(基于 .net 4.5 架构),所以,我对此软件最为了解。
这个程序在启动的最初状态,程序不参与任何计算工作,这个程序中,它只有简单的基本图形界面,比如:窗口 ,窗口里有一个菜单栏,在任务管理器中,它显示了这个程序只占用了 4 个线程。
当我启动一个功能的时候,这个程序的线程数一下子增加到了 16 个 。
所以,这个问题的标题,并不能很好的说明操作系统的多线程。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-02-17
不一定,要看浏览器具体实现。
一般来说,最近的浏览器版本,比如 Chrome 最近一两年之内的版本,每个 tab 页都是独立进程,而不是线程。这个只要查看一下系统进程管理就能看到的,谷歌官方也有过说明。
旧的浏览器是不起独立进程的,可能会为每个 tab 启动一个线程。这只是猜测了,没有依据。
可以等高人回复
一般来说,最近的浏览器版本,比如 Chrome 最近一两年之内的版本,每个 tab 页都是独立进程,而不是线程。这个只要查看一下系统进程管理就能看到的,谷歌官方也有过说明。
旧的浏览器是不起独立进程的,可能会为每个 tab 启动一个线程。这只是猜测了,没有依据。
可以等高人回复