Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- std::queue<myData*> _qDatas;
- std::mutex _qDatasMtx;
- void generator_thread()
- {
- std::this_thread::sleep_for(std::chrono::milliseconds(1));
- {
- std::lock_guard<std::mutex> lck(_qDatasMtx);
- _qData.push(new myData);
- }
- //std::lock_guard<std::mutex> lck(cvMtx); //need lock here?
- cv.notify_one();
- }
- void consumer_thread()
- {
- for(;;)
- {
- std::unique_lock lck(_qDatasMtx);
- if(_qDatasMtx.size() > 0)
- {
- delete _qDatas.front();
- _qDatas.pop();
- }
- else
- cv.wait(lck);
- }
- }
Add Comment
Please, Sign In to add comment