Avatar notebook default
11篇文章 · 21006字 · 11人关注
  • [c++11]多线程编程(六)——条件变量(Condition Variable)

    互斥锁std::mutex是一种最常见的线程间同步的手段,但是在有些情况下不太高效。 假设想实现一个简单的消费者生产者模型,一个线程往队列中放入...

  • [c++11]多线程编程(五)——unique_lock

    互斥锁保证了线程间的同步,但是却将并行操作变成了串行操作,这对性能有很大的影响,所以我们要尽可能的减小锁定的区域,也就是使用细粒度锁。 这一点l...

  • [c++11]多线程编程(四)——死锁(Dead Lock)

    死锁 如果你将某个mutex上锁了,却一直不释放,另一个线程访问该锁保护的资源的时候,就会发生死锁,这种情况下使用lock_guard可以保证析...

  • [c++11]多线程编程(三)——竞争条件与互斥锁

    竞争条件 并发代码中最常见的错误之一就是竞争条件(race condition)。而其中最常见的就是数据竞争(data race),从整体上来看...

  • [c++11]多线程编程(二)——理解线程类的构造函数

    构造函数的参数 std::thread类的构造函数是使用可变参数模板实现的,也就是说,可以传递任意个参数,第一个参数是线程的入口函数,而后面的若...

    0.6 7807 1 19
  • Resize,w 360,h 240
    [c++11]多线程编程(一)——初识

    什么是并发 并发在生活中随处可见,边走路边说话,边听歌边写代码。计算机术语中的"并发",指的是在单个系统里同时执行多个独立的活动,而不是顺序的一...

    1.8 39657 4 38 1
  • Resize,w 360,h 240
    [c++]重新了解delete[]

    引言 大家都知道new了一个变量,需要使用delete释放内存,而new出了一个数组,需要使用对应的delete[]释放内存。但我好像在哪看见过...

  • [c++11]智能指针学习笔记

    C#、Java、python和go等语言中都有垃圾自动回收机制,在对象失去引用的时候自动回收,而且基本上没有指针的概念,而C++语言不一样,C+...

    0.8 3712 1 15
  • [c++11]我理解的右值引用、移动语义和完美转发

    c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能。有点难理解,于是花时间整理一下自己的理解。 左值、右值 C++中所有的值都必...

    9.8 113620 42 191 5

文集作者