C++ 中的多线程的使用和线程池建设

C++ 11 引入了 std::thread 标准库,方便了多线程相关的开发工作。

说到多线程开发,可不仅仅是创建一个新线程就好了,不可避免的要涉及到线程同步的问题。

而保证线程同步,实现线程安全,就要用到相关的工具了,比如信号量、互斥量、条件变量、原子变量等等。

这些名词概念都是来操作系统里面引申来的,并不是属于哪一种编程语言所特有的,在不同语言上的表现形式不一样,但其背后的原理是一致的。

C++ 11 同样引入了 mutex、condition_variable、future 等实现线程安全的类,下面就来一一了解它们。

[阅读全文]