Linux教程

【操作系统学习笔记(一)】线程与进程

本文主要是介绍【操作系统学习笔记(一)】线程与进程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

2021-04-12 20:32:36

  进程和线程是操作系统中的两个基本概念,其区别与联系常作为面试/考试中的基础题目出现,可以说是非常重要的。现对其概念做出详细阐述如下。

1 定义

  进程是系统进行资源分配和调度的基本单位;在内存中有独立的地址空间。

  线程是进程的一个实体,是CPU的调度单位,将线程的运动属性分离出来,增加了线程内部的并发度;进程基本不拥有系统资源,只有在运行中必不可少的一些寄存器、栈等。

  例如,“数学卷子”是一个进程,而“数学卷的第一题”、“数学卷的第二题”是进程中的线程。

2 联系

  线程是依附于进程存在的概念,是进程中的不同执行路径,能够实现并发;

  进程内的多个线程共享地址空间及大部分数据;

  一个程序至少有一个进程,一个进程至少有一个线程。

3 优缺点

  线程的优点:

    执行开销小。

   (1)资源开销:进程是很昂贵的多任务工作方式,启动同一进程内的线程耗时远小于启动一个进程的耗时,线程间彼此切换所需时间远小于进程间彼此切换所需时间;

   (2)通信开销:进程间只能通过通信方式进行数据共享,费时且不易实现;进程间共享内存和文件,通信无需调用内核。

  线程的缺点:

    线程没有独立的地址空间,一个进程死掉就等于整个进程死掉,健壮性较差;而进程之间不会受到影响。

 

这篇关于【操作系统学习笔记(一)】线程与进程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!