![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 90
Linux
An_Mo
这个作者很懒,什么都没留下…
展开
-
Liunx-基础IO
一、C语言操作文件接口FILE *fopen(const char *path,const char *mode) ;path :待打开的文件(文件路径+文件名称)mode :以何种方式打开r:以只读方式打开,当文件不存在的时候,就会打开失败r+:以读写方式打开,当文件不存在的时候,就会打开失败w:以只写方式打开,如果文件不存在,则创建文件。如何文件存在,则会截断(清空)文件w+:以读写方式打开,如果文件不存在,则创建文件。如何文件存在,则会截断(清空)文件a:以追加方式打开,只支持写原创 2021-11-03 20:54:46 · 175 阅读 · 0 评论 -
线程池
线程池–线程的池子(很多线程)场景:淘宝–双十一—很多剁手者,都会买东西,向淘宝发出购物请求—淘宝服务器就要针对这些请求进行处理服务器上肯定是多执行流并行/并发处理若是请求来了就创建执行流进行处理,存在两个问题:1.若峰值压力下,会创建线程过多,有可能导致资源耗尽2.任务处理过程中,线程的创建与销毁成本过高在服务器启动的时候,就创建大量线程+创建一个线程安全的队列作为线程池任务来了,...原创 2020-03-08 20:11:16 · 141 阅读 · 0 评论 -
生产者与消费者模型
一、生产者与消费者模型:一种设计模式----大佬们针对典型场景设计的解决方案二、生产者与消费者模型所解决的问题:解耦和,支持并发,支持忙闲不均三、生产者与消费者模型的实现:生产者与消费者只是不同角色的执行流;只需要中间实现线程安全的队列,然后再各自创建不同角色的执行流就可以实现这个模型四、线程安全的阻塞队列的实现:使用c++封装实现一个阻塞队列类:: stI中我们学习了队列容器st...原创 2020-02-28 17:20:50 · 196 阅读 · 0 评论 -
线程安全
一、线程安全1、概念:多个执行流对临界资源进行争抢访问,而不会造成数据二义或者逻辑混乱;称这段争抢访问的过程是线程安全的;线程安全的2、实现:如何保证多个执行流对临界资源进行争抢访问而不会造成数据二义3、同步:通过条件判断,实现对临界资源访问的时序合理性4、互斥:通过唯一访问,实现对临界资源访问的安全性互斥的实现技术:互斥锁/信号量实现互斥的原理:只要保证同一时间只有一个执行流能够...原创 2020-02-24 20:59:09 · 143 阅读 · 0 评论 -
线程控制
一、线程创建int pthread_create(pthread_ t *tid, pthread_attr t attr, void(*thread routine) (void *arg),void *arg)1>tid:输出型参数,用于向用户返回线程id,是后续线程操作的句柄2>attr:用于设置线程属性,通常置NULL3>thread_routine: 线程...原创 2020-02-22 18:25:20 · 132 阅读 · 0 评论 -
线程概念
一、多线程多线程的处理思路:一个运行中的程序中,具有多个执行流,各自完成一个功能模块的实现linux的操作系统中:认为一个pcd就是一个执行流(pcd是操作系统调用一段程序运行的 实体–描述了程序的运行过程)linux下的线程就是一个pcdpcd:是一个进程现在,多个pcd可以共用同一个虚拟地址空间,这些pcd共用了一个运行中程序的资源linux下的线程就是一个pcd是...原创 2020-02-22 17:40:50 · 155 阅读 · 0 评论 -
进程信号
一、信号1、作用:通知别人,发生了某件事情,尽快的去处理这件事情(操作系统通知进程发生了某个事件,打断进程当前操作,去处理这个事件)2、信号是什么:软件中断信号想要成为一个中断,首先我们必须认识这个信号,并且知道如何去处理它事件多种多样,因此信号也是多种多样3、查看操作系统中定义好的信号:使用kil -l命令可以查看信号种类:用户所能看到并使用的信号共有62种,两大分类:1~31...原创 2020-02-21 17:56:54 · 193 阅读 · 0 评论 -
共享内存
共享内存一、概念:将同一块物理内存映射到进程各自的虚拟地址空间中就可以实现数据共享,因为 都可以通过自己的虚拟地址进行访问二、特性:1、最快的进程间通信方式因为共享内存直接通过虚拟地址访问物理内存,进行数据共享而其它通信方式,需要先将数据拷贝入内核,再从内核拷贝出来,才能实现通信因此共享内存的通信相较于其它方式,少了两次数据拷贝操作,因此速度最快共享内存的代码操作:1....原创 2020-02-20 18:06:02 · 1073 阅读 · 0 评论 -
Linux-进程控制
一、进程创建pid_t fork(void)流程:clone()1、创建pcb;2、复制信息;3、内存数据发生改变的时候为子进 程重新开辟空间,拷贝数据(写时拷贝技术)pid_t vfork(void)------创建一个子进程,父子进程共用同一个虚拟地址空间共用同一块虚拟地址空间,使用同一个栈,会造成调用栈混乱因此父进程调用vfork创建子进程,会被阻塞,直到子进程exit(...原创 2020-02-18 17:23:03 · 200 阅读 · 0 评论 -
Linux-进程概念
系统编程:系统调用接口以及进程的认识(一个程序的运行)一、认识冯诺依曼体系结构冯诺依曼体系结构:现代计算机硬件体系结构1、输入设备:键盘2、输出设备:显示器3、存储器:内存条4、运算器:中央处理器CPU5、控制器硬件结构决定软件行为/ 所有设备都是围绕存储器工作的二、简单认识操作系统操作系统:内核+外部应用操作系统的功能:管理计算机软硬件资源操作系统的定位:一款“搞管...原创 2020-02-16 22:15:34 · 226 阅读 · 0 评论 -
Linux之常用工具
软件包管理工具:yum查看软件包:yum listyum list installedyum list | grep gdb安装软件包:yum install package_nameyum install lrzszyum install gcc gcc-c++yum install gdbyum install git移除软件包yum remove...原创 2019-12-03 09:55:42 · 172 阅读 · 0 评论 -
Linux常见指令及权限理解
Linux下的基本指令命令的使用格式:命令名称[功能选项][操作对象]一、目录相关命令ls指令语法:ls [选项][目录或文件]功能:浏览目录内容常用选项:-a:查看隐藏文件,Linux以.开头的文件都是隐藏文件-l:查看文件详细信息pwd命令语法: pwd功能:查看当前详细信息Linux目录结构唯一,是一个树状结构,最底层是/根目录据对路径:起始路径是根目...原创 2019-11-19 09:44:03 · 206 阅读 · 0 评论