码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux多线程


    目录

    前言

    一、Linux线程概念

    二、线程的特点

    1、线程的优点

    2、线程的缺点

    3、进程与线程

    三、线程控制

    1、创建线程

    2、线程ID及地址空间布局

    3、线程终止

    4、线程等待

    5、分离线程 

    四、线程互斥

    1、案例演示

    2、互斥量

    2.1互斥量的相关概念

    2.2  互斥量的使用

    2.3互斥量的原子性 

    3、可重入与线程安全

    3.1 线程安全

    3.2 重入

    3.3 可重入与线程安全的关系

    4、死锁

    五、线程同步

    1、概念

    2、条件变量

    2.1 概念

    2.2 相关函数

    3、生产者消费者模型 

    3.1 概念

    3.2 BlockingQueue

    六、POSIX信号量 

    1、概念

    2、相关函数

    3、基于环形队列的生产消费模型

    总结


    前言

    哈喽,小伙伴们大家好。在之前的文章中我介绍过进程,想必小伙伴们对进程也都有一定的了解。今天我将介绍一个新概念——线程,线程的本质是什么呢?线程和进程的联系是什么呢?线程本身又有哪些特性呢?这些问题都将在下面的文章中得到答案,话不多说,我们赶紧开始吧。


    一、Linux线程概念

    线程概念:在一个进程里的执行路线就叫做线程。

    我在之前的文章中提到过,每个进程都对应一个task_struct,而每个task_struct都指向不同的地址空间,在不同的地址空间中根据页表映射到物理内存中。这句话其实不太准确,因为这句话成立有一个前提,那就是进程内部只有一个执行流,也就是单线程的。

    如果一个进程是多线程的,则如下图所示,每一个task_struct对应的是一个线程,而且这些线程都指向同一张地址空间表。站在内核角度,承担分配系统的基本实体,角度进程。控制块,地址空间,页表共同组成一个进程。

    和进程间具有独立性不同,线程间的地址空间和物理内存是共享的,数据改变并不会有写时拷贝发生。

    linux线程设计: 

    从linux内核的角度看,linux下并不存在真正意义上的多线程,所谓线程都是用进程模拟的。如

  • 相关阅读:
    C++使用PIMPL机制优化代码结构,降低耦合,提高编译速度
    ZYNQ之FPGA学习----IIC协议驱动模块仿真实验
    node插件MongoDB(一)——MongoDB的下载和安装
    大语言模型|人工智能领域中备受关注的技术
    《C和指针》(1)快速上手
    计算机网络_第五章_运输层
    技术点:前端缓存(web 缓存)详解
    银行利率bp是什么意思,bp是什么意思贷款利率
    【TestNG学习(三)套件测试】
    Qt5开发从入门到精通——第十一篇二节(Qt5 事件处理及实例——键盘事件及实例)
  • 原文地址:https://blog.csdn.net/weixin_59371851/article/details/126630072
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号