我的一个线程将数据写入循环缓冲区,另一个线程需要尽快处理这些数据。我想写这么简单的spin。伪代码!while(true){while(!a[i]){/*donothing-justkeepcheckingoverandover*/}//processb[i]i++;if(i>=MAX_LENGTH){i=0;}}上面我使用a来指示存储在b中的数据可供处理。Probaly我还应该为这种“热”进程设置线程亲和性。当然,就CPU而言,这种自旋非常昂贵,但对我来说没问题,因为我的主要要求是延迟。问题是——我真的应该写这样的东西,或者boost或STL允许这样的东西:更易于使用。具有大致相同(