自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Erick Lv的笔记

所有的博客仅作为个人笔记

  • 博客(9)
  • 资源 (4)
  • 收藏
  • 关注

原创 Visual Studio2017 配置OpenGL

visual studio 2017安装OpenGL的最简洁的教程

2018-11-24 21:24:19 1820 3

原创 C++自定应线程安全数据结构(1)

线程安全的栈该线程安全栈的作用是,允许多个线程对栈进行操作,不必再栈上进行加锁,而是栈本身内部封装了锁的机制。操作的本身不是并行化的,因为不可能同时对栈既添加数据,又取出数据;其真正的意义是多个线程访问时,避免上述不安全的情况发生。#include <exception>#include <stack>#include <mutex>#include ...

2018-11-17 17:03:32 640

原创 C++11多线程---future和promise

Providersstd::promise和std::future配合使用,给std::future传递期望值,下面是最简单的一个用法:#include <iostream>#include <functional>#include <thread>#include <future>// 一定要注意是传递引用void

2018-11-17 14:18:35 9814

原创 C++并发中的条件变量 std::condition_variable

简介这个操作相当于操作系统中的Wait & Signal原语,程序中的线程根据实际情况,将自己阻塞或者唤醒其他阻塞的线程。个人认为,条件变量的作用在于控制线程的阻塞和唤醒,这需要和锁进行相互配合,用来实现并发程序的控制。函数操作wait和notify_onevoid wait (unique_lock<mutex>& lck);template &a

2018-11-16 22:19:35 667

原创 C++中的std::lock_guard和std::unique_lock

std::lock_guard这是最简单的一个管理锁的对象。只有构造和析构函数,在构造的时候加锁,析构的时候解锁,解锁后就不能使用该对象再加锁了。可以避免使用std::mutex时忘记解锁的情况,同时可以方便处理异常。简单的实例:#include <iostream>#include <thread>#include &a

2018-11-16 16:05:39 769

原创 C++11 多线程线程共享数据

共享数据的问题这些在操作系统中都有详细的介绍,可以回顾操作系统课程。。很典型的就是数据竞争问题。互斥量保护数据最原始的方式:使用std::mutex创建互斥量,使用成员lock()加锁,使用成员unlock()解锁。但是这种方式需要我们在每个函数出口都调用一次unlock(),过于繁琐。。。实例:// std::lock example#include <iostream>...

2018-11-16 11:38:37 4522

原创 C++中的函数对象

C++中,只要实现了operator()的类或者结构体,都可以称为函数对象,这样可以直接调用。代码实例:struct cmp { bool operator()(const int& a, const int& b) { return a > b; }};int main() { int a[] = {2, 3, 5, 4, 2...

2018-11-15 14:05:20 3247

原创 C++11 多线程 线程管理基础

线程管理基础C++11 所有的线程都封装在<thread>头文件中,使用命名空间std说明。最简单的例子:#include <iostream>#include <thread>void hello() {

2018-11-14 09:49:21 301

原创 C++对象模型 笔记1

C++类中的函数不会占用类本身的内存,而是类的声明的非内联函数只会诞生一个函数体。C++在布局和存取时间上主要的额外负担由virtual引起:virtual function机制 执行期动态绑定virtual base class机制 多次继承中,单一的基类被共享C++的基本面向对象模型:所有的非静态数据成员存放到class内部静态成员和函数存放到class外部虚函...

2018-11-13 20:43:32 148

code reading

Coding Reading 英文原书,主要讲述了高效阅读源代码的方式。磨刀不误砍柴工,很有学习的价值

2018-06-07

BTree数据结构课程设计C++版

BTree数据结构课程设计C++版,完整的过程和C++源代码,包括算法的源代码等。C++代码可以直接运行。

2018-01-15

空空如也

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

TA关注的人

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