自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 c++多线程并发学习笔记(2)

等待一个时间或其他条件在一个线程等待完成任务时,会有很多选择:1. 它可以持续的检查共享数据标志(用于做保护工作的互斥量),直到另一个线程完成工作时对这个标志进行重设。缺点:资源浪费,开销大2. 在等待线程的检查间隙,使用std::this_thread::sleep_for()进行周期性的间歇。 缺点:休眠时间抉择困难bool flag;std::mutex m...

2019-09-02 17:02:00 113

转载 c++多线程并发学习笔记(1)

共享数据带来的问题:条件竞争避免恶性条件竞争的方法:1.对数据结构采用某种保护机制,确保只有进行修改的线程才能看到修改时的中间状态。从其他访问线程的角度来看,修改不是已经完成了,就是还没开始。2.对数据结构的设计进行修改,修改完的结构必须能完成一系列不可分割的变化,也就是保证每个不变量保持稳定的状态,这就是所谓的无锁编程。3.使用事务的方式去处理数据结构的更新(这里...

2019-08-30 16:35:00 197

转载 c++多线程并发学习笔记(0)

多进程并发:将应用程序分为多个独立的进程,它们在同一时刻运行。如图所示,独立的进程可以通过进程间常规的通信渠道传递讯息(信号、套接字、。文件、管道等等)。优点:1.操作系统在进程间提供附附加的保护操作和更高级别的通信机制,意味着可以编写更安全的并发代码。 2. 可以使用远程连接的方式,在不同的机器上运行独立的进程,虽然增加了通信成本,但在设计精良的系统数上,这...

2019-08-29 16:12:00 113

转载 GoogleTest初探(2)

前面的随笔介绍了Google Test中的基本测试单元TEST和测试夹具TEST_F,此篇介绍区别于这两种测试的参数化测试TEST_P当待测试方法的行为取决于传入的参数时,而且这些参数的不同组合有多种, 而你又不想为此写多个相类似的test case时,可以用value-parameterized Testvalue-parameterized Test 允许你可以使用不同...

2019-04-23 14:30:00 855

转载 GoogleTest初探(1)

此篇主要了解一下GoogleTest中的断言。总的来说,GoogleTest中的断言分为两大类:EXPECT_*和ASSERT_*,这两者在测试成功或失败后均会给出测试报告,区别是前者在测试失败后会继续执行下面的测试,而后者在测试失败后会立即终止测试。GoogleTest中的比较断言,涉及整型,字符串, 浮点型,布尔型的比较判断Fatal assertion...

2019-04-22 18:34:00 126

转载 GoogleMock初探(0)

在进行测试过程中,待测的类或者方法经常会依赖其他类或方法的实现。如果此时这些依赖还没有实现,则需要打桩。另外测试讲求独立,测试之间的互相依赖会导致测试最终混乱不堪。GoogleMock提供一套方法来快速的实现打桩,并让打桩的类或者方法轻松的按照你的要求来进行一系列动作。现在有一个还没实现具体方法的的抽象基类//MyClass.hpp#pragma once...

2019-04-20 13:08:00 173

转载 GoogleTest初探(0)

单元测试是一种保证代码质量的手段。程序员可以通过写单元测试来保证自己写的代码的功能正确。本人所在公司使用GoogleTest测试框架来进行单元测试。虽然现在在公司的工程代码中写单元测试已经驾轻就熟,但是只是知其然不知其所以然,所以再此对Google Test测试框架进行一个全面的了解与学习。本文只涉及Google Test的使用,不涉及对其源码的学习与解读。Linux环...

2019-04-18 19:16:00 188

转载 [leetcode] 二叉树的前序,中序,后续,层次遍历

前序遍历[144] Binary Tree Preorder Traversal递归遍历使用递归,先保存父节点的值,再对左子树进行遍历(递归),最后对右子树进行遍历(递归) vector<int> preorderTraversal(TreeNode* root) { vector<int> re; p...

2019-04-16 16:36:00 108

空空如也

空空如也

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

TA关注的人

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