自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux下用C++实现死锁检测

//mutex_lock.h#ifndef MUTEX_LOCK1_H#define MUTEX_LOCK1_H#include<bits/stdc++.h>using namespace std;//定义全局变量,记录当前等待锁资源的线程ID,以及对应这个锁已经被其他线程占用的线程ID,形成想对应的映射关系//对于一把互斥锁,map记录<想拥有此锁的线程(当前线程),已拥有此锁的线程>unordered_map<unsigned long,unsigned lo

2021-08-17 13:46:40 670 1

原创 Linux下C++实现线程池

线程池原理我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务呢?线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建 线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处

2021-08-03 18:03:02 825

原创 redis缓存雪崩、缓存穿透、缓存击穿的概念及区别

我在OneNote上面写好再粘贴过来的,变成图片格式了参考资料:1、B站视频:https://www.bilibili.com/video/BV1f5411b7ux?from=search&seid=15981043496087064592、https://blog.csdn.net/kongtiao5/article/details/82771694

2021-07-29 16:47:43 79

转载 GDB入门教程之查看函数调用堆栈

调用堆栈是当前函数之前的所有已调用函数的列表,每个函数及其变量都被分配了一个”栈帧”,使用 GDB 查看函数调用堆栈可清晰地看到各个函数的调用顺序以及各函数的输入形参值,是分析程序的执行流程和输入依赖的重要手段。为了便于讲解,本文基于下述通过递归算法计算斐波拉契数列的简单 demo 进行举例说明。`#include<stdio.h>#include<stdlib.h>int fibonacci(int n){if (n == 1 || n == 2){return..

2021-07-29 11:16:22 10569 2

转载 malloc和free的实现原理解析

转载文章:https://jacktang816.github.io/post/mallocandfree/

2021-07-28 08:42:40 153

原创 c++程序常用调试方法

- 一、debug和release- 1、在debug模式下:#include<iostream>using namespace std;int main() { int a = 0; for (int i = 0; i <= 10; i++) { a = a + i;#ifdef _DEBUG//加入宏命令 if(i==5) printf("Debug:i==5,a=%d\n", a);//输出调试信息#endif // _DEBUG } printf("

2020-05-29 21:13:04 1700

空空如也

空空如也

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

TA关注的人

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