#include <mutex>//互斥锁头文件
std::mutex mBuf;
//接下来五个Handler函数为接受5个topic的回调函数,作用是将消息缓存到对应的queue中
void camera0CloudHandler(const sensor_msgs::PointCloud2ConstPtr &cameraCloudMsg)
{
/互斥锁被锁定。线程申请该互斥锁,如果未能获得该互斥锁,则调用线程将阻塞(block)在该互斥锁上;如果成功获得该互诉锁,该线程一直拥有该互斥锁直到调用unlock解锁;如果该互斥锁已经被当前调用线程锁住,则产生死锁(deadlock)。
mBuf.lock();//锁定
//将所有点cameraCloudMsg点加入到 camera0CloudBuf中
camera0CloudBuf.push(cameraCloudMsg);
mBuf.unlock();//解锁
}