美文网首页
Linux_130_进线程

Linux_130_进线程

作者: 为宇绸缪 | 来源:发表于2022-05-03 00:11 被阅读0次

1.Linux下存在process和thread这两种操作系统基本概念
process是进程,thread是线程
计算机的核心是CPU,承担机器的计算任务,这就好比是一座工厂,时时刻刻都在运行和加工

2.假如这个工厂,电力有限,一次只能提供电力给一个车间使用,那某一个车间在干活的时候,其他车间都得停下来(可以理解为CPU一次只能处理一个任务)

3.进程的概念
进程就是Linux系统上的一个任务资源单位
进程就好比是一个工厂的车间,一个工厂可能有很多个车间,每一个车间代表CPU正在处理的任务,某一时刻,CPU总是在运行一个进程,其他进程处于非运行的状态

4.在一个车间内,想要完成某一项工作,必须得有很多个工人,工人才是实实在在干活的人员,并且多个工人,协同完成这个任务。每一个车间内的工人,都可以理解为linux系统的进程中的工作线程
车间 --> 进程
车间内的工人 --> 进程内的线程

5.车间内是由存放空间的,可以理解为linux的进程单位,是由存储空间的,在进程的空间内,线程共享这个资源
工厂内=进程内
工厂内部的房间,空间被工人共享 --> 进程内的内存空间,被线程共享

6.车间内的小房间,容量大小各不同
有的小房间可以容下多个工人(某一块内存数据可以被多个线程同时使用)
有的小房间只能容得下一个工人(某一块进程内的内存数据,只能给一个线程使用)
好比,进程内有一个线程正在使用一块内存数据,其他线程必须等待这个线程处理内存数据完毕,其他线程才能够使用内存(车间内的某一个卫生间,被一个人占用了,其他人必须在外面等着,等他出来,才能使用)

7.线程在使用内存数据的时候(好比某一个卫生间正在被一个工人使用中,但是另一个工人2,不愿意等待,直接破门而入,你是不是很烦),线程2不愿意等待,直接想去抢夺这一块内存数据,就很可能引发混乱,造成数据冲突,奔溃。
这个时候,线程针对内存数据,加一把锁,其他线程看到了这个内存数据被上锁了,就只能等着锁被打开,才能够拥有内存数据的使用权。
如上锁的概念,就是操作系统中,进线程中的互斥锁的概念(mutex,互斥锁,防止线程对内存数据抢夺的作用,防止多个线程同时读写同一块内存数据)

8.总结一下进程,线程的特点
Linux是一个多用户,多任务的操作系统,支持多进程,多线程
进程 --> 干活的车间
多进程(Linux操作系统内,可以同时有多个进程在工作)--> 一个工厂内,可以同时有多个车间在同时干活
多线程(一个进程内,有多个工人在干活)
单线程(一个进程内,只有一个工人在干活,效率及其低下)

相关文章

  • Linux_130_进线程

    1.Linux下存在process和thread这两种操作系统基本概念process是进程,thread是线程计算...

  • Java线程模型

    Java线程模型 本文将从线程类型、线程通信、线程调度三个方面分析Java中的线程模型。 什么是线程? 线程就是进...

  • Springboot | 线程池的学习,多线程池配置示例

    一、线程和进程,线程的生命周期二、单线程和多线程三、线程池的概念四、线程池的使用五、多线程池配置示例 一、线程和进...

  • 进程/线程

    程序->进程 (无线程)进程是最小的运行单位 (有线程)线程是最小的运行单位,进程是线程的容器 Linux为每个进...

  • 2019-03-07线程安全和非线程安全

    [JAVA中的线程安全与非线程安全] 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进...

  • Go语言学习笔记七(并发编程)

    协程机制 Golang 线程和协程的区别 备注:需要区分进程、线程(内核级线程)、协程(用户级线程)三个概念。 进...

  • iOS多线程原理

    多线程原理 线程和进程的关系和区别 1、线程定义 线程是进程的基本执行单元,一个进程的所有任务都要在线程中执行 进...

  • pythonx4-多线程01

    多线程 什么是线程,进程a. 在实现了线程的操作系统中,线程是操作系统能够运算调度的最小单位.b. 线程被包含在进...

  • 多线程与GCD

    线程 进程和线程 线程是进程的基本执行单元,一个进程的所有任务都在线程中执行。 进程要想执行任务,必须得有线程,进...

  • 面试复习——Android工程师之Java面试题

    1、进程和线程 地址空间和其他资源:进程间相互独立,进程中包括多个线程,线程间共享进程资源,某进程内的线程在其他进...

网友评论

      本文标题:Linux_130_进线程

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