`

面试经典 程序 线程 进程

阅读更多

程序 是计算机指令的集合它,以文件的形式存储在磁盘上。
进程是一个程序在其 自身的地址空间中的一次执行活动。
进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源,而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占系统的运行资源。
线程:进程中的一个单一的连续控制流程。一个进程可以拥有多个线程。
线程又称轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。

线程和进程区别:

进程和线程都是由操作系统所体现的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。
进程和线程的区别在于:
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出 口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行
分享到:
评论

相关推荐

    操作系统面试——程序、进程、线程[借鉴].pdf

    操作系统面试——程序、进程、线程[借鉴].pdf

    多线程面试相关知识点

    多线程程序包含两条或两条以上并发运行的部分,把程序中每个这样的部分都叫作一个线程(thread)。每个线程都有独立的执行路径,因此多线程是多任务处理的一种特殊形式。 多任务处理被所有的现代操作系统所支持...

    92道Java多线程与并发面试题含答案(很全)

    线程(Thread):线程是程序执行流的最小单元。一个进程可以有一个或多个线程,每个线程都执行其自己的任务。 进程(Process):进程是操作系统分配资源(如内存)和调度的单位。一个进程可以包含多个线程,这些线程...

    操作系统面试之??程序、进程、线程

    1、程序和进程  进程由两个部分组成:1)操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。2)地址空间。它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配...

    Java2023年最新高级面试题,中级面试题,大汇总,免费直接下载,不需要积分 **进程与线程的区别? 什么是TreeM

    Java 中,编写多线程程序的时候你会遵循哪些最佳实践? Java语言采用何种编码方案?有何特点? Java 中你怎样唤醒一个阻塞的线程? 解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。 多线程同步...

    操作 系统面试题

    * 进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,...

    【java面试题】综合性经典Java面试题

    线程进程区别 在Java中如何实现线程 我们应该是使用Runnable还是Thread? Thread类的start()和run()方法的区别 start()方法会创建新的线程并启动该线程,所以该方法会调用其他native方法,而run()方法就是: ...

    java核心面试技术点

    多线程 线程进程 线程状态 线程状态的改变 sql :临时表、游标、存贮过程、触发机制http://www.cnblogs.com/SkySoot/archive/2012/04/09/2439190.html jvm工作原理 JVM中类的装载是由ClassLoader和它的子类来实现...

    多线程面试题1

    1.进程是一个具有一定独立功能的程序关于某次数据集合的一次运行活动,它是操作系统分配资 2.进程是指在系统中正在运行的一个应用程序,就是一段程序的执行过程,我们

    操作系统相关的部分面试题

    * 调度:进程是资源管理的基本单位,线程是程序执行的基本单位。 * 切换:线程上下文切换比进程上下文切换要快得多。 * 拥有资源: 进程是拥有资源的一个独立单位,线程不拥有系统资源,但是可以访问隶属于进程的...

    Java2023年最新高级面试题及答案,企业真面试题.md 免费下载,不需要积分

    **进程与线程的区别? 什么是TreeMap 如何停止一个正在运行的线程? Java 中,编写多线程程序的时候你会遵循哪些最佳实践? Java语言采用何种编码方案?有何特点? Java 中你怎样唤醒一个阻塞的线程? 解释...

    Java多线程基础面试问题总结

    进程线程知识点参考:线程和进程面试问题 1、多线程有什么用? ①发挥多核CPU的优势 随着工业的进步,现在的笔记本、台式机乃至商用的应用服务器至少也都是双核的,4核、8核甚至16核的也都不少见,如果是单线程的...

    操作系统面试题目.pdf

    线程自己基本上不拥有系统资源,只拥有一点在运行中必 不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一 个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和 撤销另一个线程,同一个...

    操作系统面试题目.doc

    线程自己基本上不拥有系统资源,只 拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同 属一个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个 线程,同一个...

    Java2023年京东最新高级面试题,中级面试题,大汇总.txt

    Java 中,编写多线程程序的时候你会遵循哪些最佳实践? Java语言采用何种编码方案?有何特点? Java 中你怎样唤醒一个阻塞的线程? 解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。 多线程同步...

    并发编程面试题汇总.docx并发编程是指在一个程序中同时执行多个独立的任务或操作的能力 在面试中,常常会问到与并发编程相关的问题

    并发和并行的区别:并发是指同时处理多个任务的能力,而并行是指同时执行多个任务的能力。...死锁和活锁:死锁指的是多个线程相互等待对方释放资源,导致程序无法继续执行的情况。而活锁指的是线程不断尝试解决

    春招&秋招面经

    进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。 进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程...

    Java实习生面试复习(五):Thread线程学习

    线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线> 程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化。 线程的...

    【十三】Java多线程(指尖上的多线程[超详细])

    多线程特别重要,虽然内容偏多,但是需要熟练掌握。面试也会在此章节有考验...程序中的一个顺序控制流程,同时也是CPU的基本调度单位 比如: 迅雷是一个进程,当中的多个下载任务就是多个线程 Java虚拟机是一个进程,当

    C#网络编程基础之进程和线程详解

    进程:是一个具有一定独立功能的程序关于某个数据集合的一次活动。它是操作系统动态执行的基本单元, 在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 线程:是”进程”中某个单一顺序的控制流。...

Global site tag (gtag.js) - Google Analytics