- 博客(97)
- 资源 (2)
- 收藏
- 关注
原创 C++线程池处理socket
✅ 整体结构ThreadPool:一个线程池类,包含任务队列和工作线程。Server:简易 TCP 服务器,接收连接后把已连接 socket 加入线程池任务队列。main:启动服务器并运行线程池。
2025-04-07 10:44:29
114
原创 C++面试题
概念:在网络编程中,socket 多路复用是一种允许程序同时监听多个 socket 连接,以实现高效地处理多个客户端请求的技术。它可以让服务器在单线程或少量线程的情况下,同时处理多个网络连接,而不必为每个连接创建一个单独的线程或进程,从而提高资源利用率和系统性能。select:select 函数允许应用程序监视多个文件描述符(包括 socket)的状态变化,它会阻塞进程,直到有一个或多个文件描述符就绪(可读、可写或有异常),然后返回就绪的文件描述符数量。
2025-01-21 11:02:12
216
原创 go实现并发安全hashtable 拉链法
在这个实现中,HashTable包含多个bucket,每个bucket都有一个互斥锁来保证并发安全。Put方法用于插入键值对,Get方法用于获取值,Delete方法用于删除键值对。通过哈希函数确定键应该存储在哪个bucket中,然后在对应的bucket中进行操作。这种实现方式可以有效地处理并发访问,确保哈希表在多线程环境下的正确性。
2024-11-06 13:39:30
334
1
原创 go语言 fmt的几个打印区别以及打印格式
- fmt.Print 和 fmt.Println - fmt.Printf - fmt.Sprint, fmt.Sprintf, 和 fmt.Sprintln - fmt.Fprint, fmt.Fprintf, 和 fmt.Fprintln
2024-07-13 11:06:59
1005
原创 Gem5 全系统模拟CXL设备/协议
VFS是一个抽象层,它将不同的文件系统类型封装在一起,使得它们可以被以相同的方式来访问。), 这是因为 fs 启动会走一遍 linux 启动的流程, 检查各项配置, 您的 CPU 模型或者其他因素可能会大大影响启动进入模拟的时间. 但通常来说我们并不关心如何启动, 而是关心启动之后运行时的效果.参数用于指定哪个checkpoint,1即为第一个checkpoint,当指定的目录中有多个checkpoint时,多个checkpoint的排序是按照系统创建checkpoint的ticks进行排序的。
2024-02-18 16:18:42
1909
2
原创 快速排序、求和、模拟阶乘并利用vscode c++和matlab对程序进行计时
快速排序、求和、模拟阶乘并利用vscode c++和matlab对程序进行计时
2022-11-19 15:10:16
1017
原创 解决 Hbase 单机版 ERROR [main] regionserver.HRegionServer: Failed construction RegionServer
解决方式是hostname有问题错误如下ERROR [main] regionserver.HRegionServer: Failed construction RegionServerjava.lang.UnsupportedOperationException: Constructor threw an exception for org.apache.hadoop.hbase.ipc.NettyRpcServer at org.apache.hadoop.hbase.util.R
2022-05-10 18:25:39
2522
2
原创 Flume 同步mysql 数据到Kafka
由于目前数据是保存在mysql 中,所以想将mysql 中的数据同步到kafka,以便flink进行消费使用一、Flume 安装与配置flume1.9安装地址tar -zxvf apache-flume-1.9.0-bin.tar.gz进入flume的conf目录将带有template后缀的文件 后缀去掉新建自己的mysql-flume.conf文件文件内容如下 ,有详细注释,更改自己需要的部分,如数据库连接地址与密码,sink到kafka的地址# a1表示agent的名称#
2022-03-28 13:44:08
4629
1
原创 vue实现可输入的下拉菜单
Vue实现可输入下拉菜单效果效果如下,既可以输入自己的语句,又可以选择下拉菜单,这结合了select和input两个标签,话不多说,下面写如何实现实现html部分 将select和input模块组合到一起,在select模块设置需要选择的东西,通过onchange 将选择的东西赋到input上去<div class="relation-input"> <span style="margin-left:0rem;overflow:hidden;"> <selec
2022-03-22 14:01:51
6122
2
原创 《Streaming Systems》翻译 -- Chapter 1, Streaming 101
Chapter 1, Streaming 101
2022-03-09 16:35:29
488
原创 Vue+Flask python web开发
一、Vue配置下载nvmgit clone https://github.com/creationix/nvm.git ~/.nvm&&cd ~/.nvm &&git checkout `git describe --abbrev=0 --tags`将nvm放入环境变量 ~/.bashrcsource ~/.nvm/nvm.sh3.运行nvm4.使用nvm 安装nodenvm install 10.5.05.使用nodenvm use 1
2021-12-26 22:50:11
378
原创 嵌入式开发之路(偏汽车电子嵌入式软件工程师学习路线图)
文章目录嵌入式开发1.1前情提要1.2 学习路线图嵌入式开发1.1前情提要由于研究生生活大概率是跟着华东师范软件工程王老师做嵌入式开发了,但是自己从来没有做过嵌入式相关的东西,只做过一些linux 上的简单开发。现在大四准备从头学起,将之前的知识全部捡回来。遂想记录一下自己的学习之路,以便自己或者其他人当做后来的参考。1.2 学习路线图这是参考B站 up主 CodeSheep的学习规划与路线嵌入式开发学习规划与路线............
2021-12-11 14:41:59
10947
3
原创 Cuda编程 向量的点积
#include <stdio.h>// For the CUDA runtime routines (prefixed with "cuda_")#include <cuda_runtime.h>#include<device_launch_parameters.h>#include <helper_cuda.h>#include<device_functions.h>#define imin(a,b) (a<b?a:b.
2021-09-10 20:30:19
287
原创 Cuda 编程 矩阵转置
将矩阵分块进行转置#include <stdio.h>#include<stdlib.h>#include <cuda_runtime.h>#include<device_launch_parameters.h>#include<device_functions.h>#define imin(a,b) (a<b?a:b)//const int N=33*1024;const int N = 16;const int
2021-07-10 17:24:33
968
原创 CUDA编程基础
GPU任意长度矢量求和跨网格循环:数据集大小比网格grid中线程数量多一维网格和线程块假设网格和线程块均为一维组织结构,在跨网格循环中,每个线程将在网格内使用 threadIdx + blockIdx*blockDim 计算自身唯一的索引,并对数组内该索引的元素执行相应运算,然后将网格中的线程总数添加到索引并重复此操作,直至超出数组范围。核函数代码__global__ void add(int *a, int *b, int *c){ int index = threadIdx.x
2021-07-09 19:36:19
637
arm-elf-gcc 与 Skyeye软件
2022-10-16
保研准备资料大礼包(经验汇总+个人陈述+个人简历+联系老师+面试+自我介绍+申请表+提交材料+推荐信)
2021-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人