【多线程】的简单理解&进程 and【你的电脑是几核的?】
2017-01-10 18:45
411 查看
转自http://www.cnblogs.com/gaigaichen/p/6063713.html
相信大家会经常听到线程或者进程两个概念,先解释这两个东东
(1)进程: 资源管理的最小单位 独立的内存空间
(2)线程: 程序执行的最小单位 拥有独立的栈空间
包含关系:每个线程只能属于某一个进程,而一个进程至少有一个线程。
我们先来看看进程
什么是进程?进程,顾名思义就是正在进行中的程序,也可以说是正在运行的程序.
ctrl+alt+delete三个键一起按,看windows任务管理器(其实某个程序死机时常通过这种方式关闭程序)我们可以看到下图:
![](http://images2015.cnblogs.com/blog/1005376/201611/1005376-20161114215127951-1801831387.png)
你可以发现你的电脑同时运行多个进程。以前单核的计算机来说,同一时刻cpu只能响应一个服务。
那为什么可以同时运行多个进程呢?同时播放音乐,同时编写程序,同时后台运行代码...
![](http://images2015.cnblogs.com/blog/1005376/201611/1005376-20161114215845982-1715576795.png)
上图cpu的使用记录看出,图中标示的1,2,3,4是指电脑四核的意思,即cpu可以同一时刻响应四个请求。在单个程序中同时运行多个线程完成不同的工作,称为多线程。多线程主要是为了节约CPU时间。
那么回到第一个问题,什么是线程?
一个程序至少有一个进程,一个进程至少有一个线程. 线程是进程的最少执行单元。
![](http://images2015.cnblogs.com/blog/1005376/201611/1005376-20161114220800263-1935534302.gif)
总之,每启动一个程序就至少要启动一个进程,每启动一个进程就至少要启动一个线程。
相信大家会经常听到线程或者进程两个概念,先解释这两个东东
(1)进程: 资源管理的最小单位 独立的内存空间
(2)线程: 程序执行的最小单位 拥有独立的栈空间
包含关系:每个线程只能属于某一个进程,而一个进程至少有一个线程。
我们先来看看进程
什么是进程?进程,顾名思义就是正在进行中的程序,也可以说是正在运行的程序.
ctrl+alt+delete三个键一起按,看windows任务管理器(其实某个程序死机时常通过这种方式关闭程序)我们可以看到下图:
![](http://images2015.cnblogs.com/blog/1005376/201611/1005376-20161114215127951-1801831387.png)
你可以发现你的电脑同时运行多个进程。以前单核的计算机来说,同一时刻cpu只能响应一个服务。
那为什么可以同时运行多个进程呢?同时播放音乐,同时编写程序,同时后台运行代码...
![](http://images2015.cnblogs.com/blog/1005376/201611/1005376-20161114215845982-1715576795.png)
上图cpu的使用记录看出,图中标示的1,2,3,4是指电脑四核的意思,即cpu可以同一时刻响应四个请求。在单个程序中同时运行多个线程完成不同的工作,称为多线程。多线程主要是为了节约CPU时间。
那么回到第一个问题,什么是线程?
一个程序至少有一个进程,一个进程至少有一个线程. 线程是进程的最少执行单元。
![](http://images2015.cnblogs.com/blog/1005376/201611/1005376-20161114220800263-1935534302.gif)
总之,每启动一个程序就至少要启动一个进程,每启动一个进程就至少要启动一个线程。
相关文章推荐
- "字符流"与"字节流"的简单理解
- QT4中构建多线程的服务器and QT'Socket
- 几个简单程序加深你对多线程和信号量的理解
- 简单理解extern "C"
- <操作系统>进程与线程的有趣理解
- [VC++&Oracle]连接Oracle的ADO操作de简单多线程~
- 简单例子让你很好的理解:协议与委托 (Protocol and Delegate)
- 进程与线程的差别以及多线程的简单知识点
- 线程进程Java多线程(一)、理解进程与多线程的概念及关系
- <操作系统>进程与线程的有趣理解
- 对进程和线程的简单理解
- Android---进程间通机制的简单理解
- 用C#输出数据到excel的最简单的例子--and--C#如何退出excel的进程!
- 进程与线程的差别以及多线程的简单知识点
- Java多线程(一)、理解进程与多线程的概念及关系
- What's New in ArcGIS 9.3(第I部分)【简单翻译理解】
- 简单解释"进程和线程"的区别
- 多线程和进程的一个简单的解释(转自阮一峰的博客)
- 通过简单的售票程序理解多线程
- 简单例子让你很好的理解:协议与委托 (Protocol and Delegate)