- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 OpenGL管线基础概念编程
OpenGL管线:C++/OpenGL应用将图形数据发送到顶点着色器,随着管线处理,最终生成显示器上显示的像素点,顶点着色器、曲面细分着色器、几何着色器、片段着色器可以使用GLSL编程,将GLSL程序载入这些着色器也是C++/OpenGL职责: step1、首先使用C++获取GLSL着色器代码,既可以从文件中读取,也可以硬编码在字符串中; step2、接下来创建OpenGL着色器对象并将GLSL着色器代码加载到着色器对象; step3、最后使用OpenGL命令编译并连接着色器对,并将...
2021-08-21 20:50:41
392
原创 线程安全的单例模式代码实现
#include <boost/noncopyable.hpp> #include <pthread.h> #include "../Thread.h" #include <stdlib.h> #include <unistd.h> namespace network{ template<typename T> class Singleton : boost::noncopyable { public: s.
2021-07-25 21:52:58
266
原创 生产者消费者模型
前言 生产者-消费者问题,实际上主要是包含了两类线程,一种是生产者线程用于生产数据,另一种是消费者线程用于消费数据,为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库,生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为;而消费者只需要从共享数据区中去获取数据,就不再需要关心生产者的行为。但是,这个共享数据区域中应该具备这样的线程间并发协作的功能 一、代码实现 #include <string> #include <iostream> #in
2021-05-16 20:30:35
102
原创 内存池
一、使用内存池背景 1、应用程序频繁地在堆上分配和释放内存,会导致性能的损失,会使系统中出现大量的内存碎片,降低内存的利用率; 2、默认的分配和释放内存算法自然也考虑了性能,然而这些内存管理算法的通用版本为了应付更复杂、更广泛的情况,需要做更多的额外工作; 3、而对于某一个具体的应用程序来说,适合自身特定的内存分配释放模式的自定义内存池可以获得更好的性能; 二、代码实现 (1)先申请一块连续的内存空间,该段内存空间能够容纳一定数量的对象; (2)每个对象连同一个指向下一个对象的指针一起构成一个内存
2021-05-16 20:27:40
111
原创 生产者消费者模型
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习..
2021-05-16 19:40:26
78
原创 内存池
文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、文件I/O与标准I/O区别 标准I/O 文件I/O ANSIC POSIX 带缓冲(减少系统调用次数) 无缓冲(读写文件需要进行系统...
2021-05-16 18:47:47
181
原创 单链表增删改查
一、单链表增删改查代码实现 #include<iostream> using namespace std; typedef struct Node { struct Node* pNext; int data; }NODE, * pNODE; /*创建单链表,头结点不存放任何数据*/ pNODE CreateSingleList(void) { int length, element; pNODE pHead = (pNODE)malloc(sizeof(NO
2021-05-13 20:56:09
320
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人