自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池|单例模式|STL、智能指针线程安全|读者写者问题

在设置获取单例对象的函数的时候,注意要设置成静态成员函数,因为在获取对象前根本没有对象,无法调用非静态成员函数(无this指针):

2023-09-08 15:14:44 396

原创 基于循环队列和信号量的生产和消费者模型

在我们访问公共资源的时候,消费者需要竞争同一把锁,然后还要继续判断是否能在临界区中生产数据。如果竞争到了锁然后判断不能生产数据,则需要继续等待。竞争锁需要消耗时间,判断等待也需要,这就导致了程序效率的低下。因此信号量的存在就解决了这一个问题:在竞争锁之前就提前预知了临界资源是否就绪。

2023-09-06 17:12:18 157

原创 基于blockqueue的生产和消费模型

这个模型的优势不在于多个线程能够并发式的对共享资源里面的数据进行访问和处理,而是多个线程能够在加载任务和处理任务的时候进行并发处理。在我们上面的代码逻辑中很简单,就是随机构造x和y构成一个任务最后放入阻塞队列中。而在实际情况中加载任务的时候没有那么简单,有时需要从网络或者数据库中加载,这就需要消耗很长的一段时间。这个模型的优势就是在于多个生产者能同时加载多个任务,随后竞争出一名生产者将任务放入共享资源(阻塞队列)中,然后在竞争出一名消费者取出任务。

2023-09-05 19:02:47 585

原创 Linux线程篇(下)

有了之前对线程的初步了解我们学习了什么是线程,线程的原理及其控制。这篇文章将继续讲解关于线程的内容以及重要的知识点。

2023-08-25 13:56:08 1077

原创 Linux线程篇(上)

今天为大家讲一讲Linux中的线程。这部分的知识细节比较多,篇幅可能较长,但我们一步一步将每一个知识点搞清楚,Linux线程对我们来说就小菜一碟啦!

2023-05-19 17:15:41 189

原创 Linux进程通信之共享内存

今天我为大家讲的是进程间通信的第二种方法——共享内存。首先我们得理解一下什么是共享内存以及共享内存通信的原理。

2023-05-02 12:17:02 144

原创 Linux进程通信之管道通信

我们都知道,进程之间都是相互独立的,为了实现进程间能够互相传输数据便有了进程间通信。进程间通信分为三类,第一类是基于文件系统的管道通信,第二类是基于system v标准的本地通信,第三类是基于POSIX标准,能够实现跨主机的通信。今天我们所要探讨的是第一大类在认识管道通信之前,我们得先知道什么是管道。

2023-04-30 11:46:18 141

原创 Linux动静态库

程序在编译链接的时候将库中的代码链接到可执行文件中。程序运行的时候不再需要静态库。程序在运行的时候链接库中的代码,多个程序共享使用库的代码。

2023-04-20 21:54:04 153

原创 C++红黑树的原理及实现

RED,BLACK,:_kv(kv){}在构造函数中,为什么把颜色默认设置成红色?因为红色是一种安全的做法,如果插入的结点是黑色的,那么它必定违反性质1。而插入红色结点不一样,如果插入节点的父节点是黑色的,那么插入就不会违反上面性质。所以这是一个概率问题,很明显插入黑色结点出现问题的概率比插入红色结点要高得多。

2023-04-18 16:52:53 70

原创 C++AVL树的原理及实现

今天我们学习的是二叉搜索树的“大哥”,们是:AVL树。

2023-04-18 11:16:00 40

原创 二叉搜索树

C++二叉搜索树

2023-04-15 15:51:12 40

原创 C++多态

C++多态详细解析

2023-02-12 18:21:53 290

原创 C++中的继承

C++中的继承

2023-02-09 13:48:12 99

原创 模板的进阶

模板的进阶

2023-02-07 14:11:38 86 1

原创 反向迭代器

反向迭代器

2023-02-06 17:59:31 348

原创 栈和队列详细解析

栈和队列详解

2023-02-06 15:38:40 95

原创 STL中list的详细解析

list详细全解!!

2023-01-28 18:20:29 595 2

原创 Linux操作系统及进程状态

Linux操作系统及进程状态

2023-01-24 17:48:41 224 3

原创 STL中vector的详细解析

vecor超详细解析

2023-01-11 16:07:22 383

原创 快速秒懂STL中string的用法

STL中的string类

2023-01-04 20:03:43 116

原创 c++类的详细解析(上)

c++类的上篇

2022-10-01 22:13:55 535

原创 c++引用详解

c++引用详解

2022-09-16 19:38:47 1715

原创 C++的基础知识

c++基础

2022-09-16 14:41:23 233 1

原创 栈和队列的概念以及代码实现

栈和队列的概念以及代码的实现

2022-08-20 12:59:55 281 1

原创 链表十大oj题

链表十大oj题

2022-08-10 11:21:46 76 1

原创 动态内存管理及柔性数组

动态内存管理及柔性数组

2022-07-23 17:59:40 137 1

原创 自定义类型的深度解析

自定义类型详解

2022-07-19 22:29:29 170 12

原创 c语言文件操作管理(下)

文件管理的学习心得

2022-07-17 17:19:41 290

原创 c语言文件操作管理(上)

关于c语言文件操作的学习分享

2022-07-17 15:55:28 611 1

原创 深度解析字符串和内存函数

深度解析字符串和内存函数

2022-07-09 21:37:18 84 2

原创 整数及浮点数在内存中的存储

整数的存储: 计算机中的整数有三种表示方法:原码、反码、补码。整数都是用其补码存储内存中。其中正数的原反补码相同,负数的原反补需进行转换,转换规则如下:反码是将原码的符号位不变,其余二进制位按位取反。补码是反码的二进制位+1.。为什么整数存储在内存中的是补码形式? 因为在进行加减法的时候,cpu只能处理加法而不能处理减法计算(cpu只有加法器),并且原码和反码转换方式相同,不需要额外的硬件电路。大端小端的介绍: 当我们知道整数是用补码存进内存的,那它是怎么...

2022-05-29 15:23:44 170

原创 游戏实现——扫雷

相信大家都玩过扫雷吧,康康最近学习了如何用c语言代码实现该游戏,接下来就由康康向大家娓娓道来吧!1.打印出游戏的菜单void menu1(){ printf("*************************\n"); printf("********1.play***********\n"); printf("********0.exit***********\n"); printf("*************************\n");}int main()

2022-05-07 21:23:31 815

原创 三子棋游戏的实现

想成为大师的康康最近想玩游戏,于是用c语言代码敲了个三子棋供自己娱乐消遣。虽在创作的过程中遇到了许多细节上的问题导致运行并没有那么成功,但康康意志坚定,鏖战了几小时终于创作成功!接下来是康康的心得体会,满满的干货喔~~~ 话不多说进入正题,教会大家如何用c语言代码实现三子棋游戏。...

2022-04-26 21:59:43 2604

原创 欲戴王冠,必承其重。

没有人能随便成功,脚踏实地向前冲。

2022-04-01 13:46:36 4513 4

空空如也

空空如也

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

TA关注的人

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