基础变量
原子操作 > 手动加锁
资源变量,
当涉及到读写的情况下,需要加锁
如果只读,则不需要加锁
class Directive{
public:
// 1. 暴露给外界的接口中进行加锁操作
// 2. public函数只调用private函数
void operate1(){
lock();
operator1Locked();
unlock();
...
lock();
operator2Locked();
unlock();
...
}
private:
// 1. 都是无锁的直接操作资源的函数接口
// 2. private函数只调用private函数
void operator1Locked(){}
void operator2Locked(){}
void operator3Locked(){}
void operator4Locked(){}
void operator5Locked(){}
};