Guest User

Untitled

a guest
Oct 18th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.51 KB | None | 0 0
  1. std::queue<myData*> _qDatas;
  2. std::mutex _qDatasMtx;
  3.  
  4. void generator_thread()
  5. {
  6. std::this_thread::sleep_for(std::chrono::milliseconds(1));
  7. {
  8. std::lock_guard<std::mutex> lck(_qDatasMtx);
  9. _qData.push(new myData);
  10. }
  11. //std::lock_guard<std::mutex> lck(cvMtx); //need lock here?
  12. cv.notify_one();
  13. }
  14.  
  15. void consumer_thread()
  16. {
  17. for(;;)
  18. {
  19. std::unique_lock lck(_qDatasMtx);
  20. if(_qDatasMtx.size() > 0)
  21. {
  22. delete _qDatas.front();
  23. _qDatas.pop();
  24. }
  25. else
  26. cv.wait(lck);
  27. }
  28. }
Add Comment
Please, Sign In to add comment