
Linux系统编程
文章平均质量分 95
通过基本语法加上实践熟练Linux
小林熬夜学编程
熬夜学编程的小林,谢谢大家的关注。
展开
-
【Linux系统编程】第五十弹---构建高效单例模式线程池、详解线程安全与可重入性、解析死锁与避免策略,以及STL与智能指针的线程安全性探究
将日志加到线程池:Thread类,ThreadPool类,主函数;单例版线程池:私有成员函数,获取对象函数;可重入VS线程安全:概念,常见的线程不安全/安全的情况,常见不可重入/可重入的情况,可重入与线程安全联系/区别;常见锁概念:死锁,死锁四个必要条件,避免死锁,避免死锁算法;STL,智能指针和线程安全~~~原创 2024-11-23 12:19:13 · 2271 阅读 · 101 评论 -
【Linux系统编程】第四十九弹---日志系统构建指南:从基础结构到时间处理与Log类实现
日志类的基本结构:logmessage类,Log类;测试当前时间函数:获取当前时间的库函数,转化时间戳格式;Log类实现:构造析构函数,初始化日志信息:测试函数,以指定方式打印日志,优化日志打印函数,解决小问题~~~原创 2024-11-21 12:39:13 · 1487 阅读 · 96 评论 -
【Linux系统编程】第四十八弹---深入理解线程池:ThreadPool类设计与实现,包括测试与停止功能详解
ThreadPool类基本结构,Thread类,Task类,测试线程一直在运行:主函数,构造析构函数,初始化线程池,启动线程池,测试结果;实现一直推送任务的测试:主函数,构造析构函数,初始化线程池,启动线程池,入队,测试结果;测试一段时间线程池停止运行:主函数,停止函数,唤醒所有线程函数,测试结果~~~原创 2024-11-19 11:31:21 · 1471 阅读 · 112 评论 -
【Linux系统编程】第四十七弹---深入探索:POSIX信号量与基于环形队列的生产消费模型实现
POSIX信号量,基于环形队列的生产消费模型:RingQueue基本结构,PV操作,构造析构函数,生产者入队,消费者出队;代码测试:内置类型,类类型,多生产多消费~~~原创 2024-11-17 17:41:26 · 1083 阅读 · 97 评论 -
【Linux系统编程】第四十六弹---线程同步与生产消费模型深度解析
Linux线程同步:同步概念与竞态条件,条件变量;生产消费模型:为何要使用生产消费模型,生产者消费者模型优点,编写生产消费模型;测试生产消费模型~~~原创 2024-11-14 10:55:07 · 1709 阅读 · 107 评论 -
【Linux系统编程】第四十五弹---线程互斥:从问题到解决,深入探索互斥量的原理与实现
线程互斥:见一见多线程访问问题,解决多线程访问问题:互斥量的接口,互斥量接口的使用,原理角度理解锁,实现角度理解~~~原创 2024-11-12 10:19:46 · 1292 阅读 · 109 评论 -
【Linux系统编程】第四十四弹---从TID到线程封装:全面掌握线程管理的核心技巧
tid是什么:理解库,理解tid,tid中线程局部存储;封装线程:基本结构,函数实现,使用单线程,使用多线程~~~原创 2024-11-10 10:48:35 · 1225 阅读 · 106 评论 -
【Linux系统编程】第四十三弹---多线程编程指南:线程终止方式与C++11中的thread
线程终止:pthread_exit(),pthread_cancel(),pthread_detach();C++11中thread~~~原创 2024-11-08 09:45:20 · 977 阅读 · 110 评论 -
【Linux系统编程】第四十二弹---多线程编程全攻略:涵盖线程创建、异常处理、用途、进程对比及线程控制
线程创建,线程异常,线程用途,进程 VS 线程,线程控制~~~原创 2024-11-06 10:12:51 · 1120 阅读 · 102 评论 -
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
Linux线程概念,重谈地址空间:定义,类型,分布,映射与转换,管理;重新定义 进程 和 线程,线程的优缺点,见一见多线程~~~原创 2024-11-04 12:09:59 · 932 阅读 · 109 评论 -
【Linux系统编程】第四十弹---深入理解操作系统:信号捕捉、可重入函数、volatile关键字与SIGCHLD信号解析
捕捉信号:内核如何实现信号的捕捉,内核态与用户态,键盘输入数据过程,OS如何正常的运行,sigaction;可重入函数,volatile,SIGCHLD信号~~~原创 2024-11-01 09:27:41 · 1205 阅读 · 129 评论 -
【Linux系统编程】第三十九弹---探索信号处理的奥秘:阻塞信号与sigset_t的深入剖析及实战
信号处理,阻塞信号:信号其他相关常见概念,在内核中的表示,sigset_t,信号集操作函数;完整代码:Makefile,testsig.cc~~~原创 2024-10-30 10:13:59 · 1821 阅读 · 114 评论 -
【Linux系统编程】第三十八弹---信号世界探索:从生活到技术的全面解析
信号入门:生活角度的信号,技术应用角度的信号,信号处理,信号产生原创 2024-10-28 12:16:01 · 1408 阅读 · 126 评论 -
【Linux系统编程】第三十七弹---深入理解System V IPC机制:消息队列、信号量与共享内存的实战解析
system V 消息队列:什么是System V消息队列,基本原理;system V信号量:基本概念,主要操作,相关函数;共享内存,消息队列,信号量~~~原创 2024-10-25 10:15:32 · 1169 阅读 · 125 评论 -
【Linux系统编程】第三十六弹---深入探索进程间通信:封装共享内存类并实现进程间数据共享
共享内存的概念,创建共享内存:函数介绍,代码测试;封装成类:基本框架,析构函数,私有成员函数,创建共享内存函数,构造函数,测试,进行通信,查看共享内存属性;完整代码:Makefile,Shm.hpp,namedPipe.hpp,server.cc,client.cc~~~原创 2024-10-23 09:40:17 · 1448 阅读 · 115 评论 -
【Linux系统编程】第三十五弹---深入理解命名管道:从基础概念到高级封装与实战(含完整代码示例)
引言,什么是命名管道,通过命名管道通信,命名管道的工作原理:使用命令创建命名管道,使用代码创建命名管道,创建删除管道封装成类,打开管道文件,读写管道文件,完整代码~~~原创 2024-10-21 12:12:54 · 1287 阅读 · 114 评论 -
【Linux系统编程】第三十四弹---使用匿名管道构建简易Linux进程池
引言,进程池的基本概念,管道在进程池中的应用,进程池的实现:master类定义,测试信道,通过channle控制子进程,回收管道和子进程,修复bug,进程池完整代码~~~原创 2024-10-19 10:55:40 · 1366 阅读 · 129 评论 -
【Linux系统编程】第三十三弹---深入探索进程间通信:原理、方式、及管道技术详解
进程为什么要通信,进程如何通信,进程间常见的通信方式;管道:什么是管道,匿名管道:定义,特点,创建与使用,测试管道接口~~~原创 2024-10-17 10:24:27 · 1529 阅读 · 110 评论 -
【Linux系统编程】第三十二弹---动态库实战指南:从零构建与高效集成的奥秘
怎么做动态库,怎么使用动态库,外部库使用~~~原创 2024-10-15 08:11:24 · 1352 阅读 · 127 评论 -
【Linux系统编程】第三十一弹---深入理解静态库:从零开始制作与高效使用的完全指南
怎么做静态库,怎么使用静态库~~~原创 2024-10-13 13:47:34 · 1245 阅读 · 126 评论 -
【Linux系统编程】第三十弹---软硬链接与动静态库的深入探索
见一见软硬链接,软硬链接的特征,什么是软硬链接,软硬链接有什么用,什么是动静态库~~~原创 2024-10-11 10:05:30 · 2666 阅读 · 130 评论 -
【Linux系统编程】第二十九弹---深入探索Linux文件系统:从磁盘存储到inode结构与文件操作
文件系统相关知识,磁盘,inode:引导块(Boot Block),块组(Block Group),超级块(Super Block),块组描述符(GDB),块位图(Block Bitmap),inode位图(inode Bitmap),inode节点表(inode table),数据区(Data Blocks),文件系统~~~原创 2024-10-09 10:14:47 · 1313 阅读 · 142 评论 -
【Linux系统编程】第二十八弹---构建基础文件操作库与理解标准错误流(stderr)在C与C++中的应用
封装简单的库,定义文件结构,打开文件,刷新缓冲区,写文件,关闭文件,各文件代码,stderr,C语言代码演示,C++代码演示~~~原创 2024-10-07 11:28:40 · 1486 阅读 · 127 评论 -
【Linux系统编程】第二十七弹---文件描述符与重定向:fd奥秘、dup2应用与Shell重定向实战
文件描述符fd,0 & 1 & 2,文件描述符的分配规则,重定向,使用 dup2 系统调用,> 输出重定向,>> 追加重定向,< 输入重定向,shell模拟实现> >>原创 2024-10-04 10:47:47 · 1644 阅读 · 128 评论 -
【Linux系统编程】第二十六弹---彻底掌握文件I/O:C/C++文件接口与Linux系统调用实践
回顾C语言文件接口:以写的方式打开文件,以追加的方式打开文件;C++文件接口,系统调用实现写方式打开文件,系统调用实现追加打开文件,理解open第二个参数原理~~~原创 2024-10-02 12:02:52 · 1972 阅读 · 118 评论 -
【Linux系统编程】第二十五弹---Shell编程入门:打造一个简易版Shell
简易的shell:输出一个命令行,获取用户命令字符串,命令行字符串分割,检查命令是否是内建命令,执行命令,完整代码~~~原创 2024-09-30 12:15:49 · 1293 阅读 · 110 评论 -
【Linux系统编程】第二十四弹---从零到一:掌握进程替换的奥秘
替换原理,替换函数,函数解释,命名理解,execl调用举例,execv 和 execvp 调用举例,execvpe调用举例~~~原创 2024-09-27 09:02:32 · 1074 阅读 · 148 评论 -
【Linux系统编程】第二十三弹---理解进程等待:为何、何时以及如何等待
进程等待必要性,进程等待的方法,获取子进程status,阻塞等待,非阻塞等待~~~原创 2024-09-25 10:17:23 · 1410 阅读 · 121 评论 -
【Linux系统编程】第二十二弹---操作系统核心概念:进程创建与终止机制详解
fork函数重识,fork函数返回值,写时拷贝,fork常规用法,fork调用失败的原因,进程退出场景,进程常见退出方法~~~原创 2024-09-23 12:23:03 · 1502 阅读 · 131 评论 -
【Linux系统编程】第二十一弹---进程的地址空间
进程空间的地址的基本概念,代码分析,理解地址空间,页表,写时拷贝,虚拟地址,内核进程调度队列~~~原创 2024-09-20 08:37:15 · 1521 阅读 · 146 评论 -
【Linux系统编程】第二十弹---进程优先级 && 命令行参数 && 环境变量
什么是优先级,优先级的描述,优先级与权限的关系,为什么要有优先级,Linux优先级的特点,命令行参数,环境变量基本概念,PATH环境变量,其他环境变量原创 2024-09-18 10:22:48 · 1567 阅读 · 139 评论 -
【Linux系统编程】第十九弹---进程状态(下)
僵尸状态(进程),孤儿进程,操作系统运行状态、阻塞状态、挂起状态,进程切换~~~原创 2024-05-16 12:17:42 · 1342 阅读 · 157 评论 -
【Linux系统编程】第十八弹---进程状态(上)
进程背景,如何描述Linux进程,Linux中的R,S,T,t,D,Z,X运行状态~~~原创 2024-05-14 12:18:41 · 1480 阅读 · 154 评论 -
【Linux系统编程】第十七弹---进程理解
进程基本概念,进程控制块,进程内容~~~原创 2024-05-13 10:11:34 · 1230 阅读 · 123 评论 -
【Linux系统编程】第十六弹---冯诺依曼体系结构与操作系统
冯诺依曼体系结构,操作系统概念及理解~~~原创 2024-05-11 12:11:25 · 1920 阅读 · 141 评论 -
【Linux系统编程】第十五弹---调试器gdb使用
gdb背景,安装gdb,gdb的使用~~~原创 2024-05-09 12:21:39 · 1374 阅读 · 122 评论 -
【Linux系统编程】第十四弹---进度条
回车换行,缓冲区,usleep,fflush,倒计时,进度条~~~原创 2024-05-07 12:34:46 · 1399 阅读 · 195 评论 -
【Linux系统编程】第十三弹---项目自动化构建工具-make/Makefile
makefile背景,编写makefile文件,make原理,理解makefile,优化makefile~~~原创 2024-05-05 13:33:31 · 1436 阅读 · 134 评论 -
【Linux系统编程】第十二弹---编辑器gcc/g++使用
什么是gcc/g++,gcc/g++安装,gcc编译步骤,函数库,gcc常见选项~~~原创 2024-05-03 13:49:47 · 2330 阅读 · 109 评论 -
【Linux系统编程】第十一弹---编辑器vim使用
vim基本概念,基本操作,vim配置,批量化注释和去注释,普通用户使用sudo提权~~~原创 2024-04-30 12:34:20 · 2152 阅读 · 128 评论