自定义博客皮肤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)
  • 收藏
  • 关注

原创 ASOC 之 KubeVela

参与开源,获得成长

2022-09-13 14:50:47 279 1

原创 MatrixOne--MatrixKV

MatrixOne之MatrixKV体验

2022-07-13 10:10:54 227

原创 CFS(完全公平调度)

CFS(Completely Fair Schduler), 首次出现于Linux2.6.23。CFS区别于其他调度算法的最突出一点是CFS保证每个任务分配到公平的运行时间。经典抢占式调度通常包括多个调度队列,每个进程优先级一个:高优先级队列中的每个进程在低优先级队列中的任何进程之前被调度。例如,VAX/VMS 使用 32 个优先级队列进行调度。CFS 省去了固定的时间片和明确的优先级。处理器上给定任务的时间量是随着调度上下文在系统生命周期中的变化而动态计算的。CFS的一些概念目标延迟(targ

2021-10-21 17:29:37 4932

原创 linux系统资源

top显示不断更新的系统资源使用率top顶部分别列出了系统时间、iostat显示当前CPU负荷平均值和磁盘I/O信息使用iostat之前需要安装sysstatsudo apt install sysstat %user: 显示在用户级别(应用程序)执行时 CPU 利用率百分比。%nice: 显示在具有优先级的用户级别执行时 CPU 利用率百分比。%system: 显示在系统级别(内核)执行时 CPU 利用率百分比。%iowait: 显示系统有未完成的磁盘 I/O 请求期间一个或多个

2021-08-12 16:12:37 691 1

原创 聊天室项目

一.基础架构1.server服务器端采用epoll+多线程模式达到处理大量客户端的连接与信息处理、传输,每当客户端发来一个请求时开一个线程进行处理,处理完之后对线程进行销毁。但当大量客户端同时向服务器发送请求时,线程创建、销毁、切换的开销较大,服务器效率会下降很多。2.client客户端首先创建一个用来接收服务器数据的线程并加到数据队列中,主线程主要是主体逻辑的实现。3.数据存储主要用到mysql表名存放login_info个人信息friends好友关系

2021-08-11 11:07:07 532

原创 多线程经典案例

一. 生产者消费者问题生产者消费者共享缓冲区,生产者向缓冲区中放数据,消费者从缓冲取中取数据,当缓冲区中被放满时,生产者进程就必须进入挂起状态,直到消费者从缓冲中取走数据时,生产者才能继续向缓冲区中存放数据,同样当缓冲取中没有数据时,消费者进程就必须进入挂起休眠状态,直到生产者向缓冲区中放入数据时,消费者才能被唤醒继续从缓冲区中取走数据。生产者消费者问题,也称有限缓冲问题,是一个多线程同步问题的经典案例。互斥锁和条件变量配合使用达到多个线程对共享区域的读写同步。需要注意几点:1.对共享区域的访

2021-05-26 17:52:57 729

原创 Linux网络编程(3)

多路IO转接select

2021-05-17 20:17:09 287

原创 Linux网络编程(2)

UDPTCP状态转换图B/S,C/S并发服务器多进程多线程

2021-05-16 18:59:10 136

原创 linux下实现简单my_shell

1.功能1.实现 管道( | )2.实现 输入输出重定向(<> >>)3.实现 后台运行( &)4.实现 内建命令(cd )5.屏蔽一些信号(如ctrl + c 不能终止)6.通过设置环境变量 可以直接使用 (在任意地方都可以运行你的shell)2.代码分析#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h

2021-05-10 17:26:43 367 1

原创 Linux网络编程(1)

TCP/IP模型结构:1.应用层:FTP(文件传输), HTTP(超文本传输)2.传输层:TCP(传输控制协议), UDP(用户数据报协议)3.网络层:IP协议4.网络接口层/链路层:以太网帧协议socket1.基础结构

2021-04-16 18:21:12 190 2

原创 linux下实现my_ls

1. 功能参数-a,-l,-R自由组合在任意目录下使用基本字体颜色显示屏蔽ctrl+c输出对齐2. 具体实现流程3.代码分析#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>

2021-03-17 12:17:02 295 1

原创 小组近三年面试题

1.注意强制类型转换2.静态变量static3.printf函数返回值是输出的字符数量4.char类型范围为-128到1276.原码补码反码5.++a为a+1之后的值,a–为a-1之前的值6.逻辑运算符a||b:a为真则不进行b7.宏定义只是替换8.malloc注意内存是否得到分配9.数组a[]中a,&a,a+1,&a+110.斐波那契递归/迭代11.排序12.字节序(大小端)13.位移运算符14.sizeof/strlen15.转义字符16.格式化输出1

2021-02-27 19:04:59 124 1

原创 gdb调试

1.gdb的启动与退出启动:gdb 程序文件名/file 文件名run:运行该程序注:-q 可不显示版权说明 退出:quit2.显示和查找程序源代码list:显示10行代码list 5, 10:显示5到10行代码list 函数名:显示该函数周围的代码list 文件名:5, 10:调试含有多个源文件的程序时使用list 文件名:同上3.设置与管理断点3.1 断点设置1.行号设置:break 行号2.函数名设置3.条件表达式:break 行号/函数名 if 条件4.不需要指定

2021-02-09 17:36:01 281 1

原创 git最基本使用

一.本地仓库1.建立一个目录 mkdir test2.把该目录变为版本库 git init3.在该目录下编写文件 vim test4.将该文件添加到版本库中的暂存区 git add test5.将该文件提交到本地分支上去 git commit -m “test”至此本地仓库的最简单使用就结束二.远程仓库默认你已经将ssh...

2021-01-08 21:13:20 92

原创 堆排序

一.堆排序基本概念再了解堆排序之前,首先要明白堆是什么。 堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。对于完全二叉树有些性质也要提前进行了解才能充分了解堆排序,这里就不再多说了。堆排序就是利用堆(假设为大顶堆)进行排序的方法,其思想分为两个部分:1.大顶堆的初始构建;2.将堆顶元素移除后,大顶堆的重建。二.具体实现堆排序的主要内容就是大顶堆的构建,无论是初始构建还是重构都是这一过程。

2020-12-30 19:19:13 302 1

原创 大数加法

就像小学学的竖式加法一样,大数加法也按照这样的规律两个大数我们可以用字符数组来保存,然后在数组中逐位进行相加,再判断该位相加后是否需要进位,为了方便计算,我们将数字的低位放在数组的前面,高位放在后面。#include<stdio.h>#include<string.h> #define MAX 1000 // 大数的最大位数 void Addition(char num1[], char num2[], int sum[]){ int i, j,

2020-12-20 18:30:34 612 1

空空如也

空空如也

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

TA关注的人

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