- 博客(29)
- 资源 (6)
- 收藏
- 关注
原创 【C/C++调整线程优先级】
本文主要介绍了线程调度策略及优先级调整,std::thread、std::async、pthread的使用和区别,条件变量的使用,std::thread和std::async创建线程优先级的修改
2023-04-13 01:22:23 11392 2
原创 【Linux内核-内存管理】
操作系统引入了**虚拟内存**机制,来对进程使用的内存地址进行隔离。进程持有的虚拟地址会通过 CPU 芯片中的内存管理单元(MMU)的映射关系,来转换变成物理地址,然后再通过物理地址访问内存。
2022-11-10 19:07:11 385
原创 【SPDK文件系统-Blob FS】
SPDK通过绕过内核(kernel bypass)的方案,构筑了用户态驱动,并利用异步轮询、无锁机制等,极大地提升了I/O性能。然而,正因为采用了kernel bypass的设计,使得原本内核中的文件系统不能使用。因此,SPDK提供了Blobstore用来支持上层存储服务,并基于此封装了Blob FS(Blob Filesystem)文件系统。
2022-11-10 00:17:06 2160
原创 【SPDK入门】
SPDK (Storage performance development kit, http://spdk.io) 是由Intel发起、用于加速使用NVMe SSD作为后端存储的应用软件加速库。Intel对SPDK的定义是利用**用户态、异步、轮询方式**的NVMe驱动,用于加速**NVMe SSD**作为后端存储使用的应用软件的**加速库**
2022-11-06 17:16:16 1926
原创 C++实现单链表
C++单链表实现:1.创建单链表 2.遍历单链表 3.获取单链表的长度 4.判断单链表是否为空 5.获取节点 6.在尾部插入指定元素 7.在指定位置插入指定元素 8.在头部插入指定元素 9.在尾部删除元素 10.删除所有元素 11.删除指定元素 12.在头部删除元素 13.遍历反转链表 14.递归反转链表 0.退出...
2022-06-21 15:57:12 1382
原创 【语音工程开发】
语音工程开发,SDK设计,介绍了语音识别基础知识和整体流程,cmake、c++、shell相关工程开发经验和cpu、内存、延时性能优化分析
2022-06-09 17:51:21 1512
原创 C++并发与多线程
并发与多线程学习笔记进程、线程、多进程、多线程进程包含一个主线程(main函数执行代码),自动启动,同时可创建其他线程;一般情况,主线程执行完,其他未执行完的线程被强制终止每个线程需要独立的堆栈空间(消耗内存),线程之间切换需要保存中间状态(上下文切换)并发实现:多进程(实现简单,不存在数据一致性的问题);多线程(速度快,系统资源占用少)#include <thread> // 使用线程头文件void myprint() { std::cout << "star
2021-09-05 17:05:16 221
原创 C++智能指针
1. 智能指针作用智能指针(类模板):问作用就是防止内存泄露引入头文件#include <memory>就可以使用啦常用的四个智能指针为:auto_ptr、shared_ptr、weak_ptr、unique_ptr有new没有delete,一定会造成内存泄露;一个new只能delete一次(空指针除外)std::auto_ptr:C++98提出,允许赋值,赋值给另一个auto_ptr时原来的指针变为空,不能访问(访问会崩溃),目前被unique_ptr取代(不允许)std::s
2021-09-05 02:10:29 247
原创 C++工程开发,菜鸟成长记
菜鸟成长记,C++基础提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录C++基础前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结类智能指针并发与多线程基础工具设计模式软件架构学习tips前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于
2021-09-05 01:50:00 618
原创 实现语音通道时间延迟
输入4通道数据,将第三和第四通道的数据延迟10ms,同时加入时间戳,依赖开源循环buffer1. C++实现#include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/time.h>#include "speech/circ_buff.h"//16 * 16 * 2 * 4#define SIZE_16ms 20
2021-07-12 20:55:29 220
原创 tinyalsa录音功能实现
tinyalsa录音功能实现,通道转换功能实现,并保存为本地pcm文件,依赖tinyalsa库alsa库(Advanced Linux Sound Architecture ),linux下主流的音频体系结构,参考ALSA架构简介tinyalsa库,Google推出的基于alsa内核的用户层音频接口,在Android 4.0之后广泛应用,参考Android下音频的测试程序tinyalsa1. C++实现#include <iostream>#include <cstring&
2021-07-08 20:34:46 1084 2
原创 二叉树之堆
https://blog.csdn.net/liuchuo/article/details/84973009#include<iostream>#include<vector>using namespace std;vector<int> v;int a[1001], n, isMin = 1, isMax = 1;void dfs(int in...
2019-11-06 15:46:08 106
原创 树状数组
1.什么是树状数组?顾名思义,就是用数组来模拟树形结构呗。那么衍生出一个问题,为什么不直接建树?答案是没必要,因为树状数组能处理的问题就没必要建树。和Trie树的构造方式有类似之处。2.树状数组可以解决什么问题可以解决大部分基于区间上的更新以及求和问题。3.树状数组和线段树的区别在哪里树状数组可以解决的问题都可以用线段树解决,这两者的区别在哪里呢?树状数组的系数要少很多,就比如...
2019-10-29 18:00:53 136
原创 并查集
模板:void init(int n) { for(int i = 1; i <= n; i++) f[i] = i;}int find(int x) { //无路径压缩 return f[x] == x ? x : find(f[x]);}int find1(int x) { //有路径压缩,递归实现 if(x != f[x]) f[x] = find(f...
2019-10-28 22:02:31 96
原创 BFS和DFS
1.DFS(深度优先搜索)2.BFS(宽度/广度优先搜索)区别 实现方法 基本思想 解决问题 N规模 DFS 栈/递归 回溯法,一次访问一条路,到达终点返回 所有解问题,连通性问题 浪费时间节省空间,N <= 200 BFS 队列 分治限界法,一次访问多条路,每一层存储大量信息 最优解问题(最短路...
2019-10-27 12:46:59 346
原创 windows 7使用anaconda安装适用于python 3.6的TensorFlow
windows 7 亲测安装tensorflow ,首先尝试使用软件docker安装,在dos界面下载没有一次成功,校园网比宿舍网下载更快,但是每次总有个别东西下载不完全。之后尝试在dos命令窗口直接pip下载,每次下载成功,但是会报DLL error错误。最后使用Anaconda安装,一次成功了。(1)安装python 3.6版本(2)下载anaconda3.6,https://...
2019-03-10 19:33:56 2262 2
C语言实现单链表,单链表操作
2023-02-06
详解DPDK和SPDK技术知识点
2023-02-06
SPDK的基石是用户空间,轮询模式,异步,无锁NVMe驱动程序。这提供了从用户空间应用程序直接到SSD的零拷贝,高度并行访问。
2022-07-26
C++图书管理系统(源代码+设计文档)
2021-09-05
C++面试题集锦.docx
2021-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人