摘要: 什么是死锁 死锁是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的互相等待现象。若无外力干涉,这些进程都无法向前推进。 经典比喻:哲学家就餐问题 五位哲学家围坐在圆桌旁,仅做思考和吃饭两件事。 桌上有五根筷子,每两位哲学家之间放一根。 哲学家需拿起左右两边的筷子才能吃饭。 若所有哲学 阅读全文
posted @ 2025-12-05 08:23 Jaklin 阅读(102) 评论(0) 推荐(0)
摘要: POSIX信号量 基本概念 POSIX信号量与IPC信号量组的核心逻辑一致,但操作更简便、接口更易用,是多进程/多线程并发编程中的常用同步工具。 信号量分类 POSIX匿名信号量 适用场景:线程间同步 存储特性:仅存在于内存,文件系统中不可见 POSIX具名信号量 适用场景:进程间同步 存储特性:存 阅读全文
posted @ 2025-12-04 08:21 Jaklin 阅读(40) 评论(0) 推荐(0)
摘要: 基础概念 同步与互斥核心定义 类型 核心含义 关键特征 同步 两个或多个任务并发时,必须按照特定先后顺序运行 有序性、协作性 互斥 两个或多个任务并发时,不能同时进行某一特定操作 排他性、独占性 补充基础概念 临界资源(Critical Resources) 定义:多个进程或线程有可能同时访问的资源 阅读全文
posted @ 2025-12-03 08:26 Jaklin 阅读(55) 评论(0) 推荐(0)
摘要: 线程概念 线程实际上是应用层的概念,在Linux内核中,所有的调度实体都被称为任务(task),它们之间的区别是:有些任务自己拥有一套完整的资源,而有些任务彼此之间共享一套资源。 左边是一个含有单个线程的进程,它拥有自己的一套完整的资源。 右边是一个含有两条线程的进程,线程彼此间共享进程内的资源。 阅读全文
posted @ 2025-12-02 08:23 Jaklin 阅读(53) 评论(0) 推荐(0)
摘要: 进程间通信(IPC)概览 在Linux/Unix系统中,进程间通信(Inter-Process Communication, IPC)方式多样,各有适用场景,具体分类如下: 管道 匿名管道(pipe):适用于亲缘关系进程间的、一对一的通信 具名管道(fifo):适用于任何进程间的一对一、多对一的通信 阅读全文
posted @ 2025-12-01 19:33 Jaklin 阅读(33) 评论(0) 推荐(0)
摘要: 对代码进行git管理,此处仓库在gitee 存放 一、基本原理 做文档类、代码类工作的人,最需要的就是备份,更具体来讲不仅仅是对文档的备份,而是对整个文档修改历史的备份,这样才可以让我们在意外情况中尽量减少损失,还可以让我们恢复到之前的版本,要实现这样的效果,最直接的办法就是保存每一份文档,并且为其 阅读全文
posted @ 2025-11-22 16:17 Jaklin 阅读(79) 评论(0) 推荐(0)
摘要: 信号 1. 信号基本概念 核心定义 信号是Linux/Unix系统中进程间异步通信的一种机制,事件的发生与处理无需事先协同(类似“门铃”——屋内人无法预知门铃何时响起,只能提前做好响应准备)。 核心特性:异步性 信号的产生时机不确定(如键盘中断、子进程退出、定时器到期)。 目标进程在正常执行流程中, 阅读全文
posted @ 2025-11-22 08:23 Jaklin 阅读(61) 评论(0) 推荐(0)
摘要: 最底下速查表 进程基础接口 进程的创建 核心接口:fork() #include <sys/types.h> #include <unistd.h> pid_t fork(void); 主要功能 复制当前进程,生成父、子两个独立进程。 两个进程从fork()的下一逻辑语句开始并发执行,无固定先后顺序 阅读全文
posted @ 2025-11-21 08:17 Jaklin 阅读(48) 评论(0) 推荐(0)
摘要: 一、进程与线程核心概念 线程是应用层概念,Linux内核中所有调度实体称为任务(task) 。部分任务拥有独立完整资源,部分任务共享一套资源,线程本质是轻量级进程。如下图所示 上图中: 左边是一个含有单个线程的进程,它拥有自己的一套完整的资源。 右边是一个含有两条线程的进程,线程彼此间共享进程内的资 阅读全文
posted @ 2025-11-20 08:24 Jaklin 阅读(75) 评论(0) 推荐(0)
摘要: 一、背景知识 1.脚本语言 脚本语言区别于编译语言的最大特征,就是不需要编译,例如Python、JS、Perl,当然也包括本课程重点讲述的 Shell,它们都是不需要编译的解释性编程语言。 下表罗列了一些常见的编程语言的类别: Java不是严格的编译型语言,虽然Java源码也需要编译,但其运行环境是 阅读全文
posted @ 2025-11-19 19:47 Jaklin 阅读(71) 评论(0) 推荐(0)