在C++中,notify_all()是一個成員函數(shù),通常與std::condition_variable一起使用,用于通知等待中的線程。正確使用notify_all的一般步驟如下:
std::mutex mtx;
std::condition_variable cv;
std::unique_lock<std::mutex> lock(mtx);
cv.wait(lock);
cv.notify_all();
需要注意的是,在調(diào)用notify_all()之前,必須先鎖住互斥量,以確保在通知發(fā)出后,等待中的線程能夠正確被喚醒。另外,也可以使用notify_one()函數(shù)只通知一個等待中的線程。