
linux学习过程
文章平均质量分 90
想去吹吹海风
热爱可抵岁月漫长
展开
-
【Linux】---互斥与同步、死锁与饥饿、实现生产者消费者模型、常见锁类型
目录梳理前言互斥与同步互斥量与条件变量信号量线程池死锁与饥饿死锁条件避免死锁避免饥饿常见特殊锁乐观锁悲观锁自旋锁读写者锁公平与非公平锁梳理前言进程线程间的互斥相关背景概念:临界资源:多线程执行流共享的资源就叫做临界资源临界区:每个线程内部,访问临界资源的代码,就叫做临界区互斥:任何时刻,互斥保证有且只有一个执行流进入临界区,访问临界资源,通常对临界资源起保护作用。原子性:不会被任何调度机制打断的操作,该操作只有两态,要么完成,要么未完成。死锁:两个或两个以上的进程(LWP)都在等待互相释放自原创 2021-05-06 17:14:10 · 809 阅读 · 0 评论 -
【Linux】---线程池
什么是线程池?所有的池化技术,都可以看作一种缓冲区,举个生活中的例子,蓄水池、大坝之类。大家想想这些蓄水池的作用是什么?而线程池就是组织一批线程,在适当时机,按分配顺序去依次完成到来的任务。为什么有线程池?线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。(指PCB)线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络原创 2021-05-06 16:42:20 · 255 阅读 · 0 评论 -
【Linux】--- 多线程概念
目录线程互斥与同步死锁与饥饿线程互斥与同步死锁与饥饿原创 2021-05-05 16:03:26 · 270 阅读 · 1 评论 -
【Linux】---进程描述和控制
目录原创 2021-05-04 16:30:38 · 202 阅读 · 0 评论 -
【Linux】---------信号知识点合集
目录0.什么是信号?1.Linux信号信号概念信号列表信号处理2.Linux信号产生3.Linux信号阻塞4.Linux信号处理信号捕捉0.什么是信号?1.Linux信号信号概念信号列表信号处理2.Linux信号产生3.Linux信号阻塞4.Linux信号处理信号捕捉...原创 2021-04-12 22:00:17 · 393 阅读 · 1 评论 -
【Linux】面试常考---进程间通信
目录原创 2021-04-08 14:10:09 · 1502 阅读 · 1 评论 -
【Linux】文件管理系统解析(I/O与缓冲区,文件描述符fd,iNode)
目录文件文件操作C++文件操作与C文件操作的关系I/O与缓冲动态库静态库文件文件操作C++文件操作与C文件操作的关系I/O与缓冲动态库静态库原创 2021-04-05 18:21:51 · 965 阅读 · 0 评论 -
【linux】-----进程等待辨析,进程替换解析。
目录进程退出进程退出场景进程常见退出方法异常退出:_exit函数exit函数exit与_exit的区别return退出进程等待为什么要有进程等待?什么是进程等待?怎么用进程等待?wait方法waitpid方法两者用法区别获取子进程status使用示例状态查看小tips阻塞式等待非阻塞式等待注意进程替换为什么要有进程替换?什么是进程替换?替换函数函数解释命名理解示例如何进程替换?进程退出进程退出场景代码运行完毕,结果正确代码运行完毕,结果不正确代码异常终止进程常见退出方法正常终止(可以通过 ec原创 2021-03-16 20:21:23 · 1080 阅读 · 0 评论 -
fork函数辨析
fork函数如何创建进程?fork函数使用附:linux手册描述如何创建进程?fork函数使用先认识这两点即可fork有两个返回值父子进程代码共享,数据各自开辟空间,私有一份(采用写时拷贝)第一点验证代码:运行结果:第二点验证代码:运行结果:如何理解复制代码,数据私有呢?附:linux手册描述NAMEfork - create a child processSYNOPSIS#include <unistd.h> pid_t fork(void)原创 2021-02-07 17:49:25 · 311 阅读 · 0 评论