自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阻塞型IO和非阻塞型IO

IO的本质是基于操作系统接口来控制底层的硬件之间的数据传输,并且在操作系统中实现了多种不同的IO方式模型,比较常见有下列三种。select / poll 底层使用轮询的方式检测文件描述符是否就绪,文件描述符越多,则效率越低。epoll底层使用红黑树,没有文件描述符数量的限制,并且可以动态增加与删除节点,不用重复拷贝。将请求与就绪文件描述符存储在同一个集合中,导致每次都需要进行重新赋值才能进行下一。多路复用原理类似,但有很多地方不同,下面是具体的对比。机制,没有采用遍历所有描述符的方式,效率较高。

2024-09-30 19:17:56 387

原创 线程的概念

在被其他线程回收之前,它的存储器资源 (如栈)是不释放的。线程创建的默认状态为可结合的,可以由其他线程调用。一个线程,一个进程中是可以有很多的线程。//多个线程共享一个进程的资源,每个线程参与操作系统的统一调度 进程 = 进程资源 + 主线程 + 子线程 + ......线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有。允许一个线程就某个共享变量的状态变化通知其他线程,并让其他线程等待这一通知。创建多个线程时,一般由主线程统一创建,并等待释放资源或者分离线程,

2024-09-30 18:30:48 805

原创 多进程的简介

由于初始时信号量为 0,A 会被阻塞。1.由于Linux系统中管理进程的方式是树型管理,所以每一个进程都需要与其对应的进程建立父子关系,同时,Linux系统中会为每一个进程分配id,这个id只会作为当前进程的唯一标志,进程结束后会被回收。并发执行(操作系统调度算法实现):多个任务在同一时间内执行(加入了时间片轮的概念,每一个时间片都非常的短,由操作系统调度算法决定每一个时间片的执行任务),一旦一个任务的时间片消耗完,操作系统会调度下一个任务进入cpu中执行,没有执行结束的任务会等待下一次的分配)

2024-09-26 23:22:55 507

原创 6.30数组指针

一维数组:int arr[6]={1,2,3,4,5,6}//p是一个变量,所以会在内存中开辟空间,因此也会有地址。arr数组名:是数组中的首元素地址//

2024-07-05 23:50:04 218

原创 6.23 指针

那么可以定义一个指向 num 的指针 int *ptr = # ,这里的 ptr 就是一个指针变量,它存储了 num 的内存地址。在 C 语言中,指针是一种用于存储变量地址的变量类型。通过解引用操作符(*)可以获取地址中内容的操作符.//printf("*&scores=%.2f"*&scores);地址:每块内存单元的编号"&变量名"取地址,printf("&scores=%p" ,&scores);二维数组的地址在内存中的方式是连续存储//float scores= 25.6;

2024-07-05 23:08:23 485

原创 6.16函数的初始认识

静态局部变量:static --->修饰局部变量//当定义超出函数的调用结束后,不会回收他的空间,当int main 主函数结束后草会被回收。在C语言开发过程中,讲究的是模块开发,类似于拼装,将一个个具有不同功能的模块组合成为一个完善的模型。全局变量:在int main上方,头文件下方;局部变量:目标在int main下方,int number未初始化为随机值。一个函数只可以返回一种类型数据,一个函数仅仅进行一个功能。函数功能:复制字符串:赋值时会把字符串‘\0’也算进去。函数:实现功能的一个模块。

2024-07-05 22:48:00 384

原创 函数的初始认识

在C语言的开发过程中,讲究的就是模块开发,类似于万代拼装,将具有不同功能的models组合成一个完整的模型。库函数的使用必须包含头文件 //#include <stdio.h>函数可以当作一个可以实现某个功能的积木工具(模块)...子程序。//scanf(" 格式串",格式串占位符);函数返回值return;函数名“scanf”

2024-06-30 09:48:18 146

原创 函数的初识

以下是两个常用的函数查询网站https://legacy.cplusplus.com/reference/cstdio/printf/?kw=printfhttps://www.dotcpp.com/course/lib/

2024-06-23 10:07:20 127

原创 6.8代码的初步展示与解析03

2,缩进:在代码的行数量增多之后我们会使用多种结构例如顺序结构,循环结构以及选择结构,以后的代码我们也是由这三种结构复合而成,所以代码的缩进将会变得非常的重要,这样有益于我们检查代码错误以及以后工作后方便同事可以迅速掌握我们的逻辑思路!3,注释:同样在书写多行数代码中,为了方便老师和同事们快速理解我们的思路以及优化自己的代码,我们务必要附加上注释。注释不仅仅可以帮助我们说明我们代码的意义,并且也可以在我们检查程序错误时巧妙使用注释符号来检测代码错误的地方;算术运算符>关系运算符>逻辑运算符>赋值运算符。

2024-06-15 19:24:46 153

原创 6.2C程序的代码介绍02

2,在每一行代码的注释之后我们可以观察出C程序在计算这些十六进制时会将其自动转换为二进制进行计算,在通过printf函数显示出对应的进制,如图中使用的就是%#x十六进制输出。0x是代表十六进制的前缀。1,在设计一些实际生活中的案例时,我们如果不想加入判断是否为正数或者一些参数不可以为正数时比如(公里数,时间,GDP)。本次代码的核心要点就是C语言中对正误判断的%d结果,以及多样的单目运算符的恰当应用。上方的代码是对键入的两个字符应用单目运算符分别进行大于,等于,小于的比较!

2024-06-15 18:58:39 173

原创 5.26 代码的初步展示与解析01

三,scanf("",&name);键入函数,通过键盘输入对局内变量进行定义,"后方需要加入对应变量的地址:&name,补充:char name []={0};可加入%d,%s,%f等,但是其"后面需要加入对应的变量名!4.计算个位:对num进行除10取余,由于取余运算符只会输出整数,所以他的结果便位数字的个位。

2024-06-01 23:45:50 163

原创 5.8-001 在vm虚拟机下操作的c程序基础01

/打印" ** "的内容。注:操作c程序需要安装gcc编译器(监察代码)和vim编辑器(类似于记事本)补充:可以使用gcc 文件名.c -o 文件名(up to you!//由于输出使用int,所以需要返回整数!4.点击i继续编辑,输入汉字需要点击Shift(提前下载)清平终端:输出clear/Ctrl+l。放大终端:Ctrl+Shift+ +int main()//调用主函数。新建终端:Ctri+Shift+T。6.在终端输入:gcc 文件名.c。全屏终端:Ctrl+Alt+回车。

2024-05-08 22:04:48 1393 3

空空如也

空空如也

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

TA关注的人

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