在多线程下,我们一般认为push和pop 2个线程是没有冲突的。但事实上如果我们在判断size为不为空而去判断pop时就要注意一个问题。将push和pop上锁了,因为有可能size不再是正确的size,从而导致pop出来的是错误的。
有时候开多更多线程还不如更小的线程去做更多的事情,当因为线程的数量多起来,而CPU的占用率居高不下时候,就要看线程最后是去干嘛了,是否按照想的工作。
多线程下队列的坑
最新推荐文章于 2024-03-09 15:38:08 发布