由于C++11 和 Boost.Thread 都没有提供信号量,但是对于这个简单的东西,有时候使用就是太简单,但是为什么没有,可能他们觉得是这个东西太容易出错了,所以自己实现也不是很复杂。
直接上代码:
#include <condition_variable>
#include <mutex>
class Semaphore
{
public:
Semaphore(unsigned long
由于C++11 和 Boost.Thread 都没有提供信号量,但是对于这个简单的东西,有时候使用就是太简单,但是为什么没有,可能他们觉得是这个东西太容易出错了,所以自己实现也不是很复杂。
直接上代码:
#include <condition_variable>
#include <mutex>
class Semaphore
{
public:
Semaphore(unsigned long