怎么做室内设计公司网站/深圳抖音推广公司
简要说明
在C语言、C++等方向面试时,经常会被问道 进程、线程等问题,当然了10年前我刚开始找工作那会,也是各种煎熬“我又不写操作系统,为什么还要学这么底层的知识”,真想不通面试官是不是sha。。。
转眼间,我现在成了面试官,你说可笑不。。。。世事变化无常啊。。。。
为了让各位小伙伴把这块理解了,所以趁一个空闲时机把它们的对比简单整理了下
我用了通俗易懂的方式来进行描述,希望各位小伙伴能够看完哦 😃
抖擞抖擞精神。。。开始吧。。。
1. 通俗理解进程、线程
进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ
线程,能够完成多任务,比如 一个QQ中的多个聊天窗口
1.1 定义的不同
进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
1.2 区别
一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高。
进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率
线线程不能够独立执行,必须依存在进程中
可以将进程理解为工厂中的一条流水线,而其中的线程就是这个流水线上的工人
1.3 优缺点
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。
2. 通俗理解进程、线程
计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。
假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个任务。
进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。
一个车间里,可以有很多工人。他们协同完成一个任务。
线程就好比车间里的工人。一个进程可以包括多个线程。
车间的空间是工人们共享的,比如许多房间是每个工人都可以进出的。这象征一个进程的内存空间是共享的,每个线程都可以使用这些共享内存。
相信通过上面的通俗描述,你已经掌握了它们之间的区别
注意
1. 不要死记硬背,没有用
2. 一般来讲底层开发用到进程等操作,而如果编写应用层,几乎用不到,像js、html、css等那些语言
3. 一些其他的编程语言,像Python 除了上面说的进程、线程之外,还有协程,这个以后咱们有机会再说
最后的建议:
学会学习,要比学会某个知识点要强,学习编程的人那么多,为什么有那么多人干1、2年就不干了,写helloworld 谁不会!知道在哪写,写什么 这个才是重点
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[面试必问题目“进程、线程对比”,包你会]http://www.zyiz.net/tech/detail-97434.html