前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【面试宝典】进程和线程知识

【面试宝典】进程和线程知识

作者头像
程序员互动联盟
发布2018-03-16 10:18:38
6240
发布2018-03-16 10:18:38
举报

面试官:刚毕业是吧?

小白:是的。

面试官:问你一个简单的问题吧,进程和线程的区别?

小白:进程是正在运行的程序,线程是进程中的一个执行单元。

面试官:(⊙o⊙)… 回答对了一点点。

进程和线程知识是操作系统中的基本知识,考察你对操作系统的认识和程序运行原理的理解。

先说说计算机运行的基本知识。计算机是由一堆的硬件组成的,它的运行离不开计算机程序,很多的计算机程序组成了操作系统,比如大家熟知的桌面操作系统Windows,Mac OS、Unix和Linux,还有大家熟知的移动操作系统ios、Android、Windows Phone。这些操作系统驱动了计算机硬件的运行,应用程序开发者开发各个应用程序比如常用的QQ,微信什么的,这些应用程序都是运行在操作系统之上,不直接和硬件打交道,应用程序都是调用操作系统提供的开发接口来与硬件打交道。由于操作系统不同,提供的接口也不同,所以就出现了各种版本的应用程序,比如QQ有Windows版本,iso版本和Android版本,这些不同版本的QQ虽然大体功能相同,但是开发实现起来是不一样的,除了调用系统接口不一样外还有开发语言也是不一样的。但是不管什么操作系统,也不管你用哪种语言实现,最后的QQ程序都是作为一个应用程序运行在操作系统之上。

下面说说进程,进程是为了很好的描述运行在计算机上的程序而抽象出来的概念,可以看做是计算机进行资源分配的最小单元,一个进程的运行需要占用这计算机硬件的CPU,内存等资源,一般来说一个应用程序可以看做是一个进程,应用程序启动时会新建一个进程,向操作系统申请硬件资源,应用程序关闭,这个进程也就结束,释放掉对应的硬件资源。

线程是进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位。进程相当于一个车间,线程就相当于一个车间工人,很多个车间工人共同完成这个车间的工作。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档