C++并发编程 _ 同步并发(Future)

C++并发编程 _ 同步并发(Future) 2

bingliaolong 4年前 (2020-05-22) 17 0

一次性事件 C++标准库模型将这种一次性事件称为期望future 当一个线程需要等待一个特定的一次性事件时,在某种程度上来说它需要知道这个事件在未来的表现形式。之后,这个线程会周期性的等待或检查,事件是否出发 在检查...

C++并发编程_同步并发(Condition_variable)

C++并发编程_同步并发(Condition_variable)

bingliaolong 4年前 (2020-05-21) 11 0

等待事件或其他条件 如果一个线程正等待着第二个线程完成一项任务,它有几个选择。 可以一直检测共享数据(由互斥量保护)中的标识,并且让第二个线程在完成任务时设置该标识。 浪费资源 使用std::this_thread:...

STL_stack

STL_stack

bingliaolong 4年前 (2020-05-19) 3 0

概述 stack是一种先进后出的数据结构,它只有一个出口。 stack允许新增元素,移除元素,取得最顶端元素。 SGI STL以deque作为缺省情况下的stack底层数据结构。 而stack是以底部容器完成其所有工...

STL_deque

STL_deque

bingliaolong 4年前 (2020-05-18) 3 0

概述 vector是单向开口的连续线性空间,而deque则是一种双向开口的连续线性空间。 所谓双向开口,是指可以在头尾两端分别做元素的插入和删除操作。 区别 和vector相比: deque运行常数时间内对起头端进行...

C++并发编程 _ 共享数据

C++并发编程 _ 共享数据

bingliaolong 4年前 (2020-05-16) 7 0

概述 如果我们在线程间共享数据,我们需要设置规则,哪个线程可以访问数据的哪一位,什么时间以及如何将更改传达给关心数据的其他线程。 关键点 问题 从整体上来看,所以线程之间共享数据的问题,都是修改数据导致的。如果所有的...

创建型:单例模式

创建型:单例模式

bingliaolong 4年前 (2020-05-16) 22 0

概念 保证一个类仅有一个实例,并提供一个该实例的全局访问点 场景 应用程序的日志应用 读取配置文件 数据库连接池 多线程线程池 必须有一个类的实例,并且必须可以从一个著名的访问点访问它 当唯一的实例可以由子类扩展,并...

查找_二分查找

查找_二分查找

bingliaolong 4年前 (2020-05-09) 5 0

简述 也叫折半查找,性能优异。 但是所查找的数列必须是有序序列。 复杂度 时间复杂度 log2(N) 实现 非递归实现 int BinarySearch(int array[],int key,int length)...

查找_顺序查找

查找_顺序查找

bingliaolong 4年前 (2020-05-09) 3 0

简述 从数据的第一个元素开始,依此比较,直到找到目标或者查找失败 复杂度 时间复杂度 N 实现 int SeqSearch(int array[],int key,int length) { int (int ind...

排序_桶排序

排序_桶排序

bingliaolong 4年前 (2020-05-09) 5 0

简述 桶排序需要创建若干个桶来协助排序。 所谓桶,每个桶bucket代表一个区间范围,里面可以承载一个或多个元素。 复杂度 名称 最好 平均 最差 空间 稳定性 桶排序 n+k n nlog(n) n 是 实现 vo...

排序_计数排序

排序_计数排序

bingliaolong 4年前 (2020-05-08) 4 0

简述 计数排序适用于对一定范围内的元素进行排序。 它的思路就是创建一个范围性的计数数组,用下标去对应元素的值,有几个元素,相应下面命中几次。然后根据元素命中次数对下标值进行一次输出,得到的序列就是有序的序列。 它是不...

扫一扫二维码分享