功能:验证一个函数是否在同一个线程执行。
实现:ThreadChecker 的构造函数获得当前执行线程的ID,在calledOnvalidThread 中于当前函数所在线程的ID进行比较。
用法
1. ThreadChecker
class MyClass : public ThreadChecker {
public:
void Foo() {
DCHECK(CalledOnValidThread());
... (do stuff) ...
}
};
2. NonThreadSafe
class MyClass : public NonThreadSafe {
public:
void Foo() {
DCHECK(CalledOnValidThread());
... (do stuff) ...
}
};