自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 9.3.信号(信号捕捉和信号处理的原理,4次内核态和用户态的切换)

合适的时候”处理信号,指的是什么时候?(根据流程pending->block->handler分析)什么时候处理信号,一定是在内核态中处理信号,“合适的时候”就是指从(即执行完系统调用接口的代码或者内核处理完异常,准备返回用户态时),这个时候进行信号检测(检查pending表)和处理。为什么会进入内核态,程序执行自己编写的代码的时候是用户态,执行到系统调用接口或者遇到缺陷陷阱异常时,就由用户态切换到内核态。

2024-09-04 14:04:30 777

原创 9.2信号(信号的保存、对信号集的处理)

阐述linux下信号的3个表:block表、pending表、handler表,以及这个3各表的内容什么时候修改,怎么修改

2024-09-02 00:28:12 760

原创 9.1信号(信号产生)

信号产生的4种方式(按键组合、系统调用、软条件、硬条件)

2024-09-01 09:53:43 845

原创 8.信号量

互斥的引出:让不同的进程看到同一份资源,比如共享内存,也带来一些时序问题,造成数据不一致问题1.我们把多个进程(执行流)看到的公共的一份资源成为临界资源2.我们把自己的进程,访问临界资源的代码,成为临界区3.多个执行流,互相运行的时候会互相干扰,因为我们不加保护的访问了同样的资源(临界资源),在非临界区的多个执行流互相是不影响的4.为了更好的进行临界区的保护,可以让多执行流在任何时刻都只能有一个进程进入临界区,这种行为称为,方式是加锁。

2024-08-31 19:56:34 336

原创 6.2进程间通信--共享内存

进程通信之共享内存通信方式

2024-08-31 15:10:52 1569

原创 6.1进程间通信--管道(匿名管道、命名管道)

进程通信方式--匿名管道和命名管道

2024-08-31 00:31:04 1012

原创 5.进程控制

涉及进程等待、execl函数程序替换原理

2024-08-30 12:38:23 563

原创 4.Linux系统进程

Linux下进程结构体初始

2024-08-29 12:06:46 779

原创 高并发内存池(仿谷歌tcmalloc)

本项目是实现一个高并发的内存池,原型是google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的malloc、free函数。本篇所讲的项目是把tcmalloc最核心的框架简化后模拟实现,实现出一个化简版的高并发内存池,目的就是学习tcamlloc的精华,而不是完全的实现tcmalloc。

2024-08-19 22:34:59 706 1

原创 java接口

在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。接口不能被实例化接口中成员默认public static final,接口中方法默认public abstract,方法不能有具体实现,接口不能有构造器和静态代码块,接口中可以有static 修饰的方法如果类中没有重写接口方法,必须将该类设置为抽象类//成员变量默认static//抽象方法()相当于公共标准的意思//不能有具体实现,默认Publid abstract。

2023-12-12 10:01:55 871

原创 静态库和动态库的制作和使用

其中-I(大写i)./表示在当前目录下搜索头文件,-L./告诉链接器在当前目录下搜索库文件,-l (小写L)后面根静态库的名字test (去掉前缀和后缀)源文件(.h ,.c)-》预编译-》编译-》汇编-》目标文件(.o)—》ar命令打包生成静态库。假设测试文件为test.c,静态库文件为libtest.a,头文件为head.h。libtest.a为加了前缀和后缀的静态库名字。将头文件、test.c、动态库文件发给客户,ar命令把目标文件打包生成静态库文件。静态库需要将.a文件和头文件发给客户。

2023-12-01 19:47:49 385 1

原创 String类

从后往前寻找空格,返回最后一个空格的下标,然后从该下标+1的位置截取后面字符,统计长度//获取最后一个空格的下标return -1;

2023-11-20 14:33:37 72 1

原创 C语言static和extern

static 是静态的意思,可以用来:修饰局部变量,修饰全局变量、修饰函数。

2023-10-30 15:20:02 75 1

原创 Java类学习

成员变量:定义在类里面,方法外面的变量叫成员变量//创建类格式: class 类名 {}//例如创建一个人的类//这叫成员变量public void eat(){//这叫成员方法System.out.println("吃饭");在另一个public类中创建包含主函数的类,实例化对象后,可以用对象名.的方式访问对象中的属性以及方法//类名 自定义对象名字,这叫实例化对象person1.name="张三";

2023-10-29 16:08:18 65 1

原创 C语言数组的一些练习

【代码】C语言数组的一些练习。

2023-10-29 10:57:37 73 1

原创 C语言一些简单的习题

【代码】C语言一些简单的习题。

2023-10-27 20:12:55 42 1

原创 JAVA习题

left指向arr[n-1],right也指向arr[n-1],mid=((n-1)+(n-1))/2=n-1,mid也等于数组下标的最后一个,此时arr[mid]依然比val小,继续执行left=mid+1,那么left就大于一直没动的right,越界了,不符合循环执行条件,退出循环。此时arr[mid]依然大于val,继续执行right=mid-1,那么right就小于一直没动的left,越界,不符合循环执行条件,退出循环。不同元素异或,结果≠0,0异或除0以外的数,结果等于该数,

2023-10-25 20:44:51 40 1

原创 Java学习数组

所以虽然传入的时arr1数组,当执行arr=new int[]{89,23,56}这条语句时,arr指向的不是arr1的地址,因此没有改变arr1的元素。当把arr1数组传入fun2的函数后,在主函数内打印arr1时会发现依然是打印出[12,34,54,67]数据类型[] 数组名=new 数据类型{data,data,data};在fun2内当new了一个新的数组时,新创建数组的地址也是新的,然后把这个新的地址再赋值给arr。静态:数据类型[] 数组名={data,data,data};

2023-10-25 10:24:34 54 1

原创 Java练习,包括判断素数等

法一,用2~n-1的数去不断的除。法三,用2~到根号n之间的数去除。法二,用2~n/2的数去除。

2023-10-24 21:01:51 51

原创 JAVA实现猜数字游戏

GuessInt函数用来获取生成的随机数,并在最后把生成的随机数传入GuessGame函数。可以自定义两个函数来实现游戏功能,分别是GuessInt和GuessGame。生成一个0到99的整数,你需要不断输入数字来猜想这个随机数是什么。执行完RanNum函数,直到猜中正确数字,则退出循环。导入所需包,包括生成随机数所需包和从键盘输入所需包。猜大猜小都给出反馈,猜正确则由break退出循环。GuessGame函数用来实现游戏功能。

2023-10-24 20:08:31 541

原创 c语言猜数字游戏

c语言提供了rand函数生成随机数,随机数范围在0~RAND_MAX之间,这个RAND_MAX在大部分编译器上是32767,而题目要求在1~100之间(需使用头文件stdlib.h)给你生成一个1~100的数,你需要不断输入另一个数字来判断生成的数字是多少,输入的数大于生成的数,提示猜大了,小于,提示猜小了,输入正确,提示猜对了,并退出循环。如果time是NULL,就只返回这个时间的差值。程序运行的时间是时刻发生变化的,符合随机,C语言中time函数可以获得这个时间。首先游戏开始菜单界面设计。

2023-10-24 10:48:01 69

空空如也

空空如也

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

TA关注的人

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