Linux C
Yancy Piggy
Equilibrium
展开
-
Pthread线程同步总结——APUE学习笔记
扩展一下,如果本来不止AB两个线程在阻塞,而是多个线程在阻塞,那么因为使用if,所有的线程可能都被唤醒,接着不管条件x是否满足,全都往下执行,则发生了“惊群效应”。首次判断时x==1,此时进入if块内,执行wait函数,当前线程阻塞。以上,不管是为了防止虚假唤醒或是惊群效应,本质都是由于线程被唤醒是一回事、条件满足是另一回事,被唤醒不代表条件一定被满足,因此唤醒后需要再检查一遍条件,只有使用while才能在循环中再判断一次,而if不能,所以pthread_cond_wait函数常与while搭配使用。原创 2023-06-29 18:25:02 · 234 阅读 · 1 评论 -
gcc/g++相关用法罗列
gcc基本用法原创 2023-02-09 22:52:26 · 150 阅读 · 0 评论 -
C语言:静态全局变量为什么能在外部访问?
static全局变量不可在外部访问原创 2023-01-12 13:53:20 · 1056 阅读 · 0 评论 -
gdb学习笔记
gdb使用原创 2021-12-26 16:55:55 · 194 阅读 · 0 评论 -
gcc、编译、生成静态库、可执行文件
库文件、头文件、源文件 结构安排原创 2021-12-26 00:52:14 · 1501 阅读 · 0 评论 -
配置:.vimrc
.vimrc最基础配置,包含括号补全、括号TAB键跳出,标尺,行号显示等功能原创 2021-12-12 20:15:44 · 266 阅读 · 0 评论 -
Linux IO多路复用(多路转接)
IO多路复用(多路转接)在没有IO多路复用技术前,进程在同一时间只能监控一个IO状态(一个文件描述符的状态),例如A和B两个文件在操作,定的顺序是A前B后,那么在A阻塞过程中、B在后面也是不能被操作的,这样会造成资源浪费、响应缓慢。IO多路复用:同时监控多个IO文件描述符状态,如果没有准备好的描述符、则进程始终处于睡眠状态;如果有准备好的描述符、则告诉进程,进程开始处理就绪的描述符。///////////////////////////////////////////////////////////原创 2021-03-17 15:48:56 · 347 阅读 · 0 评论