Linux
爱马拉松的东宫高兴
程序员的八荣八耻:
以动手实践为荣,以只看不练为耻。
以打印日志为荣,以出错不报为耻。
以局部变量为荣,以全局变量为耻。
以单元测试为荣,以手工测试为耻。
以代码重用为荣,以复制粘贴为耻。
以多态应用为荣,以分支判断为耻。
以定义常量为荣,以魔法数字为耻。
以总结思考为荣,以不求甚解为耻。
展开
-
Git的安装使用(基于Centos7)
一、安装git1.最新git源码下载地址:https://github.com/git/git/releaseshttps://www.kernel.org/pub/software/scm/git/安装gityum install git查看yum源仓库Git信息yum info git2.安装依赖库[root@localhost ~]# yum install curl-...原创 2019-05-19 00:51:18 · 211 阅读 · 0 评论 -
Linux线程
文章目录线程线程概念线程之间的独有与共享:线程和进程优缺点对比及使用场景:线程控制:线程创建:线程间不存在父子关系线程终止:进程退出线程等待:线程分离:线程安全:如何实现线程安全(同步与互斥)如何实现互斥互斥锁mutex死锁:同步的实现:条件变量条件变量是搭配互斥锁一起使用的:线程线程概念进程: 传统操作系统上的进程是pcb,操作系统通过pcb控制程序运行线程: 但是Linux下线程使用...原创 2019-09-18 00:09:53 · 385 阅读 · 0 评论 -
模拟实现同步与互斥
文章目录模拟一个黄牛买票程序(互斥)模拟实现吃面做面(同步)模拟一个黄牛买票程序(互斥)我们实现卖票系统 ticket=100创建4个线程作为黄牛,开始抢票,打印抢到的票号#include <stdio.h>#include <unistd.h>#include <pthread.h>int ticket = 100;pthread_mu...原创 2019-09-18 00:23:57 · 219 阅读 · 0 评论 -
生产者与消费者模型
文章目录生产者与消费者模型:功能+实现方式信号量:计数器+等待队列+等待与唤醒功能信号量和条件变量实现同步的区别:生产者与消费者模型:功能+实现方式一种场所,两种角色,三种关系功能: 解耦合,支持忙闲不均,支持并发stl–std::queue—非线程安全生产者-生产者:互斥消费者-消费者:互斥生产者-消费者:同步+互斥class BlockQueue{ private...原创 2019-09-18 17:50:14 · 206 阅读 · 0 评论 -
线程池
文章目录线程池概念线程池概念一堆线程+任务队列作用: 提高任务的并发处理性能避免大量线程频繁的创建/销毁时间成本避免瞬间大量线程创建耗尽资源,程序崩溃危险实现:创建固定数量的线程+创建一个线程安全的任务队列typedef bool(*task_callback)(int data);Task{ int data; task_callback handle; SetTa...原创 2019-09-18 21:03:38 · 145 阅读 · 0 评论 -
单例模式
文章目录设计模式概念单例模式饿汉实现方式和懒汉实现方式懒汉方式实现单例模式(线程安全版本)设计模式概念IT行业这么火, 涌入的人很多. 俗话说林子大了啥鸟都有. 大佬和菜鸡们两极分化的越来越严重. 为了让菜鸡们不太拖大佬的后腿, 于是大佬们针对一些经典的常见的场景, 给定了一些对应的解决方案, 这个就是设计模式单例模式某些类, 只应该具有一个对象(实例), 资源只能被加载一次,就称之为单...原创 2019-09-18 21:39:16 · 241 阅读 · 0 评论 -
Linux高级IO
文章目录高级IO:五种典型IO:阻塞IO:非阻塞IO:信号驱动IO:异步IO:IO多路转接/IO多路复用:IO多路转接模型:select/poll/epollselect:poll:epoll:epoll监控流程:epoll优缺点分析:IO多路转接模型的适用场景:高级IO:五种典型IO: 阻塞IO/非阻塞IO/信号驱动IO/异步IO/IO多路转接IO多路转接模型: selec/poll/ep...原创 2019-09-18 22:39:58 · 532 阅读 · 0 评论 -
环境变量
文章目录环境变量基本概念常见环境变量查看环境变量方法环境变量相关的命令环境变量的组织方式获取环境变量的方法环境变量具有全局特性环境变量基本概念环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有...原创 2019-09-22 01:18:47 · 288 阅读 · 0 评论 -
存储技术概念
存储基础知识主要知识点: 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID从工作原理区分机械HDD固态SSD原创 2019-09-26 19:03:41 · 669 阅读 · 0 评论 -
Linux基础知识总结
d转载 2019-09-10 14:37:35 · 336 阅读 · 0 评论 -
Linux进程信号与信号阻塞
进程信号:信号介绍:生命周期:信号产生,信号在进程中注册,信号在进程中注销,信号处理信号的阻塞竞态条件可重入/不可重入函数信号介绍:软件中断,通知进程中发生了某个事件,打断进程当前的阻塞,去处理这个事件信号有很多种类—每个信号都代表一个事件(操作系统识别这些信号)信号有自己的生命周期:信号的产生—>进程的注册—>进程的注销—>处理信号种类:kill -l...原创 2019-08-12 16:19:21 · 292 阅读 · 0 评论 -
Linux基础命令
ls 指令语法: ls [选项][目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用参数搭配:ls -a 列出目录所有文件,包含以.开始的隐藏文件ls -A 列出除.及…的其它文件ls -r 反序排列ls -t 以文件修改时间排序ls -S 以文件大小排序ls -h 以易读大小显示ls -l 除了文件名之外,还将文件的权...原创 2019-05-16 17:04:23 · 219 阅读 · 0 评论 -
Linux基础权限
权限概念[hyx@localhost ~]$ lltotal 8drwxr-xr-x. 2 hyx hyx 6 May 12 22:24 Desktopdrwxr-xr-x. 2 hyx hyx 6 May 12 22:24 Documentsdrwxr-xr-x. 2 hyx hyx 6 May 12 22:24 Downloads-rw-rw-r--. ...原创 2019-05-16 17:06:10 · 147 阅读 · 0 评论 -
Linux下的重要目录
Linux下一些重要目录的含义1.目录/proc/proc是系统内核提供的文件系统(也是伪文件系统),它放置的数据都是内核中的信息,例如:系统核心,行程信息,周边装置的状态以网络状态等等。而这些数据都是动态存放在内存中的,所以用户读取proc文件时,这个文件从动态内存中取出信息并提交。所以/proc目录存在于内存中,不占中硬盘空间。/proc下有三个很重要的目录:net,scsi和sys2...原创 2019-05-16 17:06:52 · 266 阅读 · 0 评论 -
Linux常用工具——gcc、gdb、g++、vim
一. 编辑器vim(安装方法:直接输入命令sudo yum install vim)1、vi/vim的三种模式vi编辑器有三种模式:命令模式(command mode)、插入模式(Insert mode)、底行模式(last line mode)。就是你直接用命令(vi 文件名)打开一个文件的话,默认是在命令模式下。命令模式下是不能直接编辑文本的,你输入的字母会被当作命令执行。比如输入i,...原创 2019-05-16 17:27:51 · 290 阅读 · 0 评论 -
Linux进程间通信
进程间通信(IPC):操作系统为用户提供的几种进程间通信方式基本介绍:因为进程的独立性,进程之间无法直接沟通,需要操作系统提供一块公共的媒介实现通信,因为通信的场景各有不同,因此操作系统也提供了不同的进程间通信方式通信场景:数据传输,数据共享,进程控制,事件通知通信方式:管道,共享内存 ,消息队列,信号量管道:传输数据资源—半双工通信(双向选择,单向通信)(管道特性之一),有匿...原创 2019-08-04 15:38:59 · 122 阅读 · 0 评论 -
Linux进程概念
系统编程:进程概念—>进程控制—>基础IO—>进程间通信—>进程信号—>多线程进程概念:冯诺依曼体系结构—现代计算机硬件体系结构计算机五大硬件单元:1、输入设备:键盘2、输出设备:显示器3、存储器:内存4、运算器:CPU5、控制器所有设备都是围绕存储器工作的硬件结构决定了软件行为操作系统:一个软件安装在计算机硬件上目的:为了让计算机更加...原创 2019-07-27 15:44:01 · 90 阅读 · 0 评论 -
Linux进程控制
进程控制进程创建:fork()—复制。返回值,写时复制vfork()vfork()创建子进程—子进程与父进程公用同一块虚拟地址空间,为了防止调用栈混乱,因此阻塞父进程知道子进程调用exit()退出或者进行程序替换。vfork的子进程不能下main函数中return退出,因为释放资源后,父进程陷入混乱崩溃fork / vfork / clone —fork和vfork在内核中都是调用...原创 2019-07-27 15:46:31 · 96 阅读 · 0 评论 -
Linux基础IO
基础IO:输入输出----学习内容:回顾标准库IO接口:FILE*----文件流指针系统调用IO接口学习:int----文件描述符文件描述符和文件流指针之间的关系文件描述符到底是什么----凭什么操作文件文件系统----Linux下的ext2软链接/硬链接静态库/动态库:生成+使用回顾标准库IO接口:fopen fclose fread f...原创 2019-07-27 16:06:38 · 244 阅读 · 0 评论