Android C++系列:Linux线程(一)概念

1. 什么是线程

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

2. 线程和进程的关系

  1. 轻量级进程(light-weight process),也有PCB,创建线程使用的底层函数和进程一 样,都是clone;
  2. 从内核里看进程和线程是一样的,都有各自不同的PCB,但是PCB中指向内存资源的三级页表是相同的;
  3. 进程可以蜕变成线程;
  4. 在美国人眼里,线程就是寄存器和栈;
  5. 在linux下,线程最是小的执行单位;进程是最小的分配资源单位查看LWP号。
ps -Lf pid 
ps -eLf

在这里插入图片描述

3. 线程间共享资源

  1. 文件描述符表;
  2. 每种信号的处理方式;
  3. 当前工作目录;
  4. 用户ID和组ID;
  5. 内存地址空间
Text 
data
b

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 20:50:02       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 20:50:02       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 20:50:02       62 阅读
  4. Python语言-面向对象

    2024-07-16 20:50:02       72 阅读

热门阅读

  1. linux - shell - 单引号与双引号

    2024-07-16 20:50:02       17 阅读
  2. vue3+vite+ts+pinia+router4后台管理-动态路由生成

    2024-07-16 20:50:02       18 阅读
  3. 【数值计算】学习笔记

    2024-07-16 20:50:02       19 阅读
  4. Docker入门:从安装到实际应用

    2024-07-16 20:50:02       21 阅读
  5. MetaGPT和LangGraph对比

    2024-07-16 20:50:02       20 阅读
  6. Linux基础命令

    2024-07-16 20:50:02       21 阅读
  7. JUC-并发的概念

    2024-07-16 20:50:02       19 阅读
  8. 第五章 初识Sping框架(2023版本IDEA)

    2024-07-16 20:50:02       18 阅读