在一个浏览器里同时开着多个网页算是多线程吗?
在解释上面这些问题的之前,我们得理解线程的一个概念。
在现代操作系统中,线程是真正执行计算机操作的东西,真正在操作电脑的不是应用程序,不是进程,而是线程。
线程,是一个基本单位,执行操作的,是线程。
应用程序与进程里面,有很多线程,像负责人机交互的窗口,它主要由 GUI 线程来控制的。
以 IE 浏览器为例,即便你只开启一个页面,你也会发现,这个浏览器程序有非常多的线程,随着打开的标签和加载项越多,它所创建的线程也就越多。
我做过一些简单的应用软件开发,对于一般应用程序来说,我们也许不考虑线程的问题,因为,关于线程的调度,我个人会让系统和编译器来完成,而我做的,仅仅是为了编写实现这个软件的功能以及代码。
上面这个截图是我编写的一个小工具,用于学习一些计算机编码的一些问题,由于这个软件是我编写的(基于 .net 4.5 架构),所以,我对此软件最为了解。
这个程序在启动的最初状态,程序不参与任何计算工作,这个程序中,它只有简单的基本图形界面,比如:窗口 ,窗口里有一个菜单栏,在任务管理器中,它显示了这个程序只占用了 4 个线程。
当我启动一个功能的时候,这个程序的线程数一下子增加到了 16 个 。
所以,这个问题的标题,并不能很好的说明操作系统的多线程。