自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 IO进程——共享内存、信号灯集、消息队列

共享内存是指操作系统在物理内存中申请一块空间,应用程序可以映射到这块空间,从而直接进行读写操作。

2024-08-06 20:34:45 626

原创 IO 进程——管道

1)只能用于亲缘关系间的通信2)半双工通信模式,拥有读端与写端3)管道是一种特殊的文件,对它的读写可以使用文件IO,如read,write4)管道是基于文件描述符的通信方式。当一个管道建立时,它会创建两个文件描述符fd[0](读管道)与fd[1](写管道)5)不支持sleek操作。

2024-08-05 19:23:57 550

原创 IO进程问题之死锁与进程间通信

3)只有管道的读端存在时,向管道中写数据才有意义,否则会导致管道破裂,向管道中写入数据的进程将会收到来自内核传来的SIGPIPE信号:Broken pipe 错误(管道破裂)死锁是指两个或者两个以上的线程/进程在执行过程中,由于存在竞争资源或者由于彼此通信而造成的一种阻塞现象,若没有外力协调,他们都无法进行。4)、循环等待,即存在一个等待队列:P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。1)当没有条件产生时pthread_cond_wait函数会阻塞,同时会将锁解开;

2024-08-02 20:36:44 292

原创 线程同步与线程互斥

1、获取线程ID功能:获取线程号返回值:线程ID2、分离线程函数功能:使线程分离,线程退出时让系统自动回收线程资源参数:线程ID子线程在退出的时候,主线程没有给子线程回收资源的话,线程会变成僵尸线程。使用方式:1)在主线程中调用pthread_detach(tid);2)在子线程中调用pthread_detach(pthread_self());注意:1)如果线程已经设置了分离状态则再调用pthread_join时就会失败。

2024-08-01 20:00:16 763

原创 IO文件——库——进程

程创建后,进程进入就绪态,当CPU调度到此进程时进入运行态,当时间片用完时,此进程会进入就绪态,如果此进程正在执行一些IO操作(阻塞操作)会进入阻塞态,完成IO操作(阻塞结束)后又可进入就绪态,等待CPU的调度,当进程运行结束即进入结束态。该类进程经常与用户进行交互,需要等待用户的输入,当接收到用户的输入后,该类进程会立刻响应,典型的交互式进程有:shell命令进程、文本编辑器等。3、默认打开三个流:标准输入、标准输出、标准错误。进程:是程序的一次执行过程,进程是动态的,包括创建,调度,执行,消亡。

2024-07-30 20:16:56 641

原创 IO进程函数

功能:向文件中写入字符 参数:c:要输入的字符;a+:可读可写,文件不存在则创建文件,存在则追加,开始数默认从头开始读,进行写时流被定位在文件结尾。w+:可读可写,文件不存在则创建新文件,存在则清空文件,流被定位在文件开头。a:追加,文件不存在则创建文件,存在则在文件结尾追加,流被定位在文件结尾。功能:判断读取文件时是否读到了文件结尾 返回值:非0表示读到文件结尾。w:只写,文件不存在则创建文件,存在则清空文件,流被定位在文件开头。返回值:成功:读取对象的个数 失败或者读取到文件结尾:0。

2024-07-26 20:40:11 666

原创 Linus编译工具

make: 工程管理器,顾名思义,是指管理较多的文件。make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能构根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作。Makefile或makefile时make读取的唯一配置文件。一般用大写表示变量名,取值用$1) = 递归方式2) :=直接赋值3) +=追加新值4)?=判断之前变量是否被定义,若没定义则重新赋值;若定义了则不重新赋值。

2024-07-11 19:20:45 708

原创 linux命令

名命一般用大写进行赋值时用左右两边不能有空格引用变量在变量名前面加$

2024-07-09 19:03:53 825

原创 Linux命令

2、查看内核版本uname -r二、分层结构应用层:程序、命令内核层:五大功能:进程管理、设备管理、内存管理、网络管理、文件系统管理驱动:字符设备驱动(鼠标、键盘)、块设备驱动(硬盘、U盘)、网络设备驱动。三、dpkg工具sudo dpkg -i 软件包全称:安装状态sudo dpkg -s 软件包名:显示软件的安装状态sudo dpkg -r 软件包名:卸载软件sudo dpkg -P 软件包名:卸载软件,重新安装不会保留上次配置。

2024-07-08 19:06:35 520

原创 函数以及函数调用

一个完成特定功能的代码模块,可以实现代码的复用。

2024-07-03 19:35:29 286

原创 数组与指针

1、const常量化:只能读,不能被修改。用法:const int a=10;//此时a不能再被直接修改。但是,可以通过地址来对a进行修改,例如:int *p=&a;*p=20;此时,输出的a就成了20。

2024-07-02 19:58:24 432

原创 二维数组以及指针

存储类型数据类型* 变量名;例intp;//指针变量p2.指针和所指变量的关系int a=10;int *p=&a;apap3.指针的操作符取地址取内容p指针变量的地址*&aa;&*a;错误4.初始化。

2024-07-01 19:58:41 870

原创 数组应用以及排序

字符串用“ ”括起来,以 '\0' 作为结束标志,在定义元素个数时,需要把 '\0' 考虑上。sizeof(数组名):此函数用来求得相应数组开辟空间的大小。//要交换的是 最小元素 和 最左边位置。方法二:使用 strlen函数。方法一:用for循环遍历。3.2 实际元素的个数。

2024-06-28 19:22:08 855

原创 数组及其应用

由一个或多个相同类型数据组成的集合。特点:数据类型相同且内存连续。

2024-06-27 17:33:00 123

原创 关于变量、常量、分支结构、循环结构

在运行过程中会发生变化的量。存储类型:决定了存储变量的位置。数据类型:觉醒了变量开辟的空间大小。数据类型字节大小char字符型1int整型4short短整型2long长整型32位:4;64位:8float单精度浮点型4double双精度浮点型8如何查询变量的大小:使用sizeof语句。(ps:1字节=8位)局部变量与全局变量的区别:局部变量全局变量定义位置函数体内部函数体外部初值未初始化时,值为随机值未初始化时,值为0存储位置栈区全局区。

2024-06-26 18:51:52 843

原创 计算机数据

存储类型:auto(自动变量)、static(只作用于本文件或函数中,在不同文件或函数中可重复定义同名变量)、register(寄存器变量)、extern(外部类变量声明)(4)置一公式:A|(1

2024-06-25 19:38:42 638 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除