//B线程
while(true){
unique_lock<std::mutex> lock(mutexlock);
.............这里耗时可以不计.............
lock.unlock();
.......................................
}
//用户线程调用start
void start(){
auto start=GetTickCount();
unique_lock<std::mutex> lock(mutexlock);//
cout<<"抢到锁耗时"<<GetTickCount()-start;
}
由于B线程里频繁抢锁导致
用户线程调用start时候要平均600多毫秒才能抢到锁,如何做能尽量减少
这个时间,最好降到5毫秒内。我粗略想的 是 调用start时候用一个内核事件让B暂停一下