自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ubuntu20.04(focal)arm架构下编译libvlc 3.0.16

ubuntu20.04(focal)下安装libvlc 3.0.16

2025-04-25 17:36:42 149

原创 滑动窗口解决无重复最长子串

右指针移动,遇到重复字母时,则移动左指针到重复字母下方+1的位置,在这之前的字母都从哈希表中删除(注意unodered_map的erase方法有可能引起迭代器失效,所以要把重复字母的索引值it->second取出来单独存放)使用unodered_map<char,int>来保存目前字符串的字符数组以及其相应的索引;左右指针界定连续字符串范围。

2023-09-10 20:53:27 142 1

原创 socket套接字通信流程

socket()返回用于监听的文件描述符lfd,bind()绑定该文件描述符以及服务器的IP和端口(用sockaddr结构体储存),listen()使服务器进入LISTEN状态并指定最大监听数,accept()函数指定一个sockaddr结构体存储客户端的IP和端口,如果没有客户端的连接请求则阻塞,有则返回通信的文件描述符cfd。socket()返回fd,connect()请求连接服务器,传入一个sockaddr结构体存储要访问的服务器IP和端口,成功连接服务器后,客户端会随机绑定一个端口。

2023-09-01 11:04:02 177 1

原创 线程池总结(C++实现)

线程池的意义在于减少反复创建销毁线程的开销,方便管理多线程,适用于不断执行任务的场景。(比如客户端-服务器通信)

2023-08-31 13:11:19 139

原创 Git配置代理解决 “Failed to connect to github.com port 443“及 “Recv failure: Connection was reset“ 等问题

即使打开了全局代理,也会报错。使用 git clone 下载 Github 等网站的仓库时,可能会遇到类似。

2023-08-27 15:22:21 805

原创 Visual Studio连接远程linux

连接成功,即可远程连接到linux下进行项目的编译存储!(默认项目文件夹在linux的~/project下)注意你的linux系统需要提前装好gcc,g++,gdb,openssh-server等工具,没有的装一下。在Visual Studio Installer上要安装Linux开发相关的组件。远程标头是用来加载linux下的头文件用于windows的智能提示。创建完,工具->选项->跨平台->连接管理器。输入你的linux系统IP,用户名密码即可。

2023-08-25 16:03:08 816 1

原创 对于线程同步的理解

线程同步主要是指,在多个线程共同操作同一块内存时,保证线程的执行是顺序的,不会因为抢夺时间片而互相串扰导致与预期结果不符合。建立起临界区的概念,即我要保证临界区内的代码是一气呵成执行的,不被其他线程所干扰。

2023-08-25 11:19:40 84 1

原创 pthread_rwlock 未定义的问题

在thread.h中查找相关定义。

2023-08-24 14:04:00 285 1

原创 C的线程库

首先是进程线程的概念,进程是系统资源分配的最小单位,而线程是CPU调用的最小单位;进程有自己独立的一块内存空间,多个线程可以共享这一个进程的空间(类似一个宿舍的舍友),并且每个线程有自己单独的空间(每个人有自己的床位),线程同时共享进程的全局区、代码区、堆区(宿舍的公共区域)。注意,线程创建后,在没有干扰的情况下,主线程的生命周期结束,子线程也会被回收。并行parallel:多个线程在不同的CPU核上同时运行,真正的parallel。有一副生动的图来自up主网页的教程,很好理解并区分这两个概念(如下图)

2023-08-24 08:46:34 153 1

原创 Linux修改终端显示的前缀

把PS1中的\u@\h部分去掉。vscode中的终端也会改变。

2023-08-23 20:23:35 188 1

原创 二分法标准模板

二分法思想不难,但是边界问题容易出错,这里给自己总结一套模板。

2023-08-22 01:34:25 90 1

原创 传统MBR引导WIN11装Ubuntu20.04踩坑记录(自用)

2022-02-23 17:02:05 387

原创 Win11+Ubuntu20.04双系统安装流程

Win11+Ubuntu20.04双系统安装流程安装过程准备1.下载Ubuntu20.04LTS镜像2.检查电脑引导方式与磁盘管理3.腾出一块磁盘空间来装你的Ubuntu系统4.制作U盘引导盘5.U盘装系统附加安装过程第一次装双系统,记录一下流程方便自己下次查。准备安装ubuntu 首先需要准备以下工具以及安装包:ubuntu 系统安装镜像刻录软件,推荐软碟通,会提示注册,选择继续试用就好一个大于 2G 的 U 盘1.下载Ubuntu20.04LTS镜像官网下载*不同版本

2022-01-08 14:56:47 1233

原创 线程

线程笔记汇总1.多线程1.1线程概述(掌握)引入进程是为了让多道程序更好地并发执行,提高资源利用率和系统吞吐量;引入线程的目的是为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能线程是操作系统能够进行调度执行的最小单位,每个进程至少有一个main线程。进程是系统分配资源的最小单位。一个进程可以拥有多个线程,这些线程共享进程的地址空间,而自己只拥有少量的栈空间。线程和进程在使用上各有优缺点:线程占用的CPU少,线程之间切换快,并且切换开销小,但不利于资源的管理与保护,而进程正相反

2021-04-14 15:27:56 136

空空如也

空空如也

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

TA关注的人

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