Linux之线程(二)
线程所独有的虽然线程共享进程绝大部分数据但为了实现独立调度执行每条线程都有独属于自己的私有资源线程唯一标识 ID内核层面的 LWP、用户态 pthread_t 线程 ID用来区分同进程下不同执行流寄存器上下文程序运行时的通用寄存器、程序计数器等线程切换时会保存 / 恢复这组寄存器数据保证执行不会错乱独立栈空间函数调用、局部变量、函数返回地址全部存放在线程私有栈多个线程函数调用互不干扰errno 全局错误标记每个线程有独立的 errno 副本一个线程函数报错修改 errno不会影响其他线程的错误判断私有信号屏蔽字每条线程可以单独设置要屏蔽的信号线程间信号屏蔽规则互不干涉独立调度优先级内核调度器会依据每条线程自身的优先级分配 CPU 时间片同一进程内不同线程可设置不同优先级。创建一个线程的代价远小于创建一个新进程,删除也是一致的代码线程创建pthread_create参数说明pthread_t *thread输出参数创建成功后存入新线程 ID你截图里打印的 tidconst pthread_attr_t *attr线程属性传nullptr使用默认属性void *(*start_routine)(void *)线程入口函数返回void*、参数void*void *arg传给线程函数的参数任意类型指针返回值0创建成功非 0错误码如内存不足、权限错误不是lwp十六进制打印其实这个id是一个地址,具体是什么等一下来解释pthread_self作用返回调用该函数的当前线程自身 ID无参数、无失败返回值永远有效新线程的tid新线程和主线程都有tid,并且是不一样的线程资源共享丰富一下多个执行流进入函数-----重入我们将print操作封装,发现线程都可以使用------代码是共享的定义全局变量让新线程对其进行我们观察到val的值是在变化的以上证明多线程资源共享代码异常异常问题:任意线程异常奔溃,会导致整个进程挂掉让线程一下子全部都创建出来让线程只打印一次,让内容更加清晰但是我们确发现打印出来并不是有序的,循环里char threadname[64]是栈局部数组每次循环覆盖内容 创建子线程时直接传数组地址子线程读取时数组内容早已被下一轮循环修改线程 name 偶尔错乱。这样会出现数据不一致的问题除了上面这个可能,也会有下面这种情况printf是行缓冲但多线程并发调用时一行打印会被其他线程打断穿插。 多个线程同时执行 printf操作系统线程调度会随时切换线程导致文字错位、顺序杂乱。

相关新闻

Matt Pocock skills 仓库全解析:35 个 AI 编码技能的安装方式与常用推荐

Matt Pocock skills 仓库全解析:35 个 AI 编码技能的安装方式与常用推荐

Matt Pocock skills 仓库全解析:35 个 AI 编码技能的安装方式与常用推荐 一、安装方式 仓库是给 AI 编码工具(Claude Code、Codex 等)用的技能包,不是普通浏览器插件。 # Claude Code 插件(只读、自动更新)…

2026/8/13 8:38:51 阅读更多 →
Unity游戏翻译神器XUnity.AutoTranslator:5分钟快速上手指南

Unity游戏翻译神器XUnity.AutoTranslator:5分钟快速上手指南

Unity游戏翻译神器XUnity.AutoTranslator:5分钟快速上手指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语Unity游戏而苦恼吗?XUnity.AutoTranslator正是你需要的终极…

2026/8/13 8:37:49 阅读更多 →
地球自转如何影响飞行时间?从科里奥利力到西风急流的航空物理解析

地球自转如何影响飞行时间?从科里奥利力到西风急流的航空物理解析

1. 项目概述:一个被忽略的飞行物理现象 每次订机票,看着航班的预计飞行时间,你有没有想过,为什么从北京飞往洛杉矶的时间,和从洛杉矶飞回北京的时间不一样?我猜大多数人会下意识地归因于风向,比…

2026/8/13 8:37:49 阅读更多 →

最新新闻

以区位与供应链双轮驱动,锚定高端装备三大赛道

以区位与供应链双轮驱动,锚定高端装备三大赛道

随着杭州主城区工业用地日趋紧张、综合成本持续走高,一批高端装备制造企业正将产业化环节向周边区域外溢。位于诸暨市次坞镇的临杭产业园区,凭借距杭州主城区约38公里的区位条件与扎实的供应链配套能力,逐渐进入智能感知装备、智能网联汽车装…

2026/8/13 10:11:56 阅读更多 →
第91讲:接单提速——一半时间试错,一半时间交付量产代码

第91讲:接单提速——一半时间试错,一半时间交付量产代码

第91讲:接单提速——一半时间试错,一半时间交付量产代码 专栏地址: 嵌入式程序开发实战嵌入式双范式AI编程嵌入式开发必掌握嵌入式求职面试技术资料 前言 接单项目时间紧、利润靠效率。核心思想:一半时间用Vibe试错验证&#x…

2026/8/13 10:11:56 阅读更多 →
户外资产管理难?RFID 帮你省心搞定

户外资产管理难?RFID 帮你省心搞定

资产铭牌锈蚀模糊、全域盘点耗时费力、器械无故丢失挪用、设备超期维保频发故障,是工程、市政、新能源企业运维阶段普遍存在的痛点。技术,把这些头疼事一次性解决。户外资产管理,到底难在哪?户外资产的痛点,说白了就4件…

2026/8/13 10:11:56 阅读更多 →
ComfyUI-VideoHelperSuite完整教程:3步掌握AI视频合成核心技术

ComfyUI-VideoHelperSuite完整教程:3步掌握AI视频合成核心技术

ComfyUI-VideoHelperSuite完整教程:3步掌握AI视频合成核心技术 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite ComfyUI-VideoHelperSuite是专为ComfyU…

2026/8/13 10:11:56 阅读更多 →
vibe 一个“沉浸世界“番茄钟,9个场景×动效×环境音,全部免费开源

vibe 一个“沉浸世界“番茄钟,9个场景×动效×环境音,全部免费开源

前言 大多数番茄钟是"计时器白噪音"的组合。我想做一个不一样的——计时的时候,你身处一个世界。 这篇文章记录了这个项目的完整经历:从技术选型到产品发布,全部免费开源。 它有什么 9个沉浸场景:篝火、海、雨、山、…

2026/8/13 10:11:56 阅读更多 →
Python爬虫实战:抓取上交所问询函并关联股价数据

Python爬虫实战:抓取上交所问询函并关联股价数据

1. 项目缘起与核心价值 最近在整理一些市场事件分析时,我常常需要回溯特定监管事件(比如上交所的问询函)对相关上市公司股价的即时影响。手动去上交所官网翻公告,再去行情软件里对日期查股价,效率低不说,还…

2026/8/13 10:10:56 阅读更多 →

日新闻

Visual Studio新建项目解决方案为空:系统性排查与修复指南

Visual Studio新建项目解决方案为空:系统性排查与修复指南

1. 问题现象与本质剖析如果你是一位.NET开发者,或者正准备踏入这个领域,那么Visual Studio(后面简称VS)绝对是你绕不开的伙伴。但有时候,这个伙伴会跟你开一个不大不小的玩笑:你满怀期待地点击“创建新项目…

2026/8/13 0:00:09 阅读更多 →
长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

长春建设厅网站:普通人买房办事必看的真实指南与避坑攻略

说实话,每次提起“长春建设厅网站”这几个字,我心里都挺有感触的。不是因为它有多高大上,也不是因为那里藏着什么不可告人的秘密,恰恰相反,是因为它太“接地气”了,或者说,它是咱们普通人想要在这个城市好好生活、安稳买房时,必须得翻过的一座“数据山”。很多新朋友第…

2026/8/13 0:00:09 阅读更多 →
Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案

Windows家庭版远程桌面多用户破解完整指南:RDPWrap终极解决方案 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 你是否曾为Windows家庭版无法支持多用户远程桌面…

2026/8/13 0:00:09 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/12 1:11:09 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/12 1:11:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/11 17:09:45 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/12 1:11:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/11 17:09:45 阅读更多 →