美文网首页
Linux下进程与线程-瞎胡写

Linux下进程与线程-瞎胡写

作者: 大白也哼 | 来源:发表于2018-04-18 19:26 被阅读8次
1513473592384.jpg

进程与线程

进程就是处于执行期的程序(目标码存放在某种存储介质上)。但是进程并不仅仅局限于一段可执行代码段。通常进程还要包含其他资源,例如:打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的的内存地址空间及一个或者多个执行线程(thread of execution)等。实际上,进程就是正在执行的程序代码的实时结果。

线程(thread),或者成为执行线程,是在进程中活动的对象。每个线程都拥有一个独立的程序计数器、进程栈和一组进程寄存器。内核调度的对象是线程而不是进程。在传统的Unix/Linux系统中,一个进程只包含一个线程,但现代操作系统中,包含多个线程的多线程程序司空见惯。<Linux系统的线程实现非常特别:它对线程和进程并不是特别区分。对Linux而言,线程只不过是一种特殊的进程罢了>

进程——资源分配的最小单位
线程——程序执行的最小单位

进程有独立的堆栈和局部变量,但线程没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但是进程切换时,耗费资源较大,效率要差一些(据统计是线程的30倍左右)。但是对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程

为什么使用多线程而不是多进程

线程间方便的通信机制。对于不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过进程间通信的方式进行,这种方式不仅费时,而且很不方便。线程则不然,由于同一进程下的线程之间共享数据空间,所以一个线程的数据可以直接为其他线程所用。

并发和并行

并发又称共行,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。 比如,现代计算机系统可在同一段时间内以进程的形式将多个程序加载到存储器中,并借由处理器的时分复用, 以在一个处理器上表现出同时运行的感觉。

并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行。

并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。 前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生。

以上这些都是一些比较浅显的概念,深入的概念可以去查阅相关的linux/Unix相关资料。

时:2018年4月18日

相关文章

  • Linux下进程与线程-瞎胡写

    进程与线程 进程就是处于执行期的程序(目标码存放在某种存储介质上)。但是进程并不仅仅局限于一段可执行代码段。通常进...

  • 线程

    线程的概念 线程:light weight process,轻量级的进程,Linux环境下本质上仍是进程。和进程的...

  • 协程、进程、线程

    1.进程与线程的区别,linux下2.协程是什么,优势是什么

  • linux多进程与多线程

    linux多进程与多线程。 一,线程与进程的对应关系 先回答一个大家比较关心的问题,就是线程和进程的对应关系。 第...

  • Linux线程

    什么是线程 LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下)进程...

  • 一些参数的说明

    1、linux下进程的进程最大数、最大线程数、进程打开的文件数和ulimit命令修改硬件资源限制 2、Linux最...

  • 进程管理

    进程管理进程和线程图形简单解释进程和线程管理VIM编辑Linux 系统资源信息的获取获取 Linux CPU 信息...

  • Linux内核设计与实现 进程管理2:进程、线程创建

    进程与线程的关系 在Linux中,没有线程这个概念。内核将线程与进程一视同仁,也就是说线程相当于一个标准的...

  • 程序员自我修养--链接、装载与库

    第一章:基础知识 线程: linux的多线程: Windows对进程和线程的实现如同教科书一般标准。Linux下执...

  • Linux进程与线程

    1. 定义 进程(英语:process),是计算机中已运行程序的实体。线程(英语:thread)是操作系统能够进行...

网友评论

      本文标题:Linux下进程与线程-瞎胡写

      本文链接:https://www.haomeiwen.com/subject/xosbkftx.html