生产者消费者模型 阻塞队列用C++简易实现生产者消费者模型,即实现一个阻塞队列; 之前Web服务器项中的异步日志系统也用到了该模型; 生产者生产数据到缓冲区中,消费者从缓冲区中取数据; 缓冲区满时,生产者线程阻塞,进入等待状态。 缓冲区空时,消费者线程阻塞,进入等待状态。 生产者生产资源后,会唤醒可能等待着的消费者; 消费者消耗资源后,会唤醒可能阻塞着的生产者; 12345678910111213141516 2023-10-12 C++ #生产者消费者 #阻塞队列
Git使用和常用命令 第一次下载123456apt-get install gitgit config --global user.name "zyue" # your namegit config --global user.email "3506656950@qq.com" # your emailgit config --global core.edit 2023-07-23 Linux #Linux #Git #Github
Linux常用命令笔记 管理用户123456789101112131415161718# 按默认值添加用户useradd userName# 在root环境下,root帮userName设置密码passwd userName# 或echo "密码" | passwd --stdin userName# userName这个用户第一次登录时(默认密码是用户名),自己设置自己密码echo "us 2023-07-23 Linux #Linux #命令
Hexo常用命令 前置安装123npm i -g hexo-clinpm install hexo-deployer-git --save 基本命令1234567891011121314# 新建一个名为new_post的posthexo n new_post# 清楚缓存hexo clear# 生成hexo g# 发布到本地hexo s# 发布到githubhexo d 常用命令1234567891011# 本地 2023-07-01 博客搭建 #Hexo #博客
几个线程交替打印 关于多线程交替打印的问题题目要求是写3个线程交替递增打印一个整数,直到最大数的限制。我们可以根据取模运算来判断当前该打印那个数字。 但是本人在第一遍写的时候遇到如下三个问题: 加锁用的是独占锁,但是忘了用全局互斥量来初始化该锁,也就是写成了unique_lock<mutex> locker,应该是unique_lock<mutex> locker(mux); 在子线程函数 2022-10-21 C++ #多线程
CPP中虚析构函数 析构函数我们都知道在C++的多类继承体系中的构造函数与析构函数执行顺序相反; 构造函数是从基类到派生类,析构函数是从派生类到基类; 123456789101112131415161718192021222324252627282930313233343536#include <iostream>using namespace std;class Base {public: 2022-09-30 C++ #C++
岛屿问题 岛屿问题1. 求岛屿面积或最大面积就是深度搜索,递归4个方向,统计每个岛的面积。 1. 求岛屿周长力扣题目:https://leetcode.cn/problems/island-perimeter/ 普通方法: 就是只有一个岛屿的情况! 1234567891011121314151617181920class Solution {public: int islandPerim 2022-09-16 数据结构与算法 #刷题 #数据结构 #算法 #DFS
C语言表示字符串 C语言表示字符串其实在C语言中,没有真正的字符串类型。但是有字符串数组。 当我们想申明一个字符串变量时,大体上有下面两种方法: 12345char str[] = "hello";char *p = "hello";// str[]:它定义的是一个字符串数组变量。可以通过 str[0] = 'A' 修改值。// *p:它定义的是一个指针变 2022-09-08 C++ #C语言
CMU15-445数据库实验总结 简要介绍这门课程共五个配套实验,不过关于数据库的是后面4个实验,第一个实验是检验基本C++语言能力的前菜。 实验全部都是完形填空的形式,需要我们实现声明好的函数,自己也可以增加其它成员变量或成员函数来辅助完成实验要求。 实验配套的开源项目是bustub,需要我们从github上clone下来,按照README配置环境就好。我是在VMWARE中装Ubuntu18.04虚拟机来完成实验的,一定要仔细看 2022-08-13 项目 #数据库 #项目 #可扩展哈希 #缓存池 #LRU #火山模型 #读锁 #写锁
实现计算器从表达式求值 双栈解法思路 一个栈nums存放数值,一个栈ops存放符合(运算符和括号); 遍历字符串有四种情况: 左括号:直接入ops栈; 右括号:从现有的两个栈里面计算,直到遇到左括号; 数字:取出整数放入nums栈; 运算符:先把两个栈里面可以计算的都计算,然后将新运算符加入ops栈; 注意事项: 处理字符串前先将空格去除; 每次计算得到的结果同样存放在nums栈中; 只有「栈内运算符」比「当前运算符 2022-08-06 数据结构与算法 #刷题 #数据结构 #算法 #栈