CondSh.h 404 B

12345678910111213
  1. #pragma once
  2. #include <boost/thread.hpp>
  3. template <typename T> struct CondSh
  4. {
  5. T data;
  6. boost::condition_variable cond;
  7. boost::mutex mx;
  8. CondSh(){};
  9. CondSh(T t){data = t;};
  10. void set(T t){mx.lock();data=t;mx.unlock();}; //set data
  11. void setn(T t){mx.lock();data=t;mx.unlock();cond.notify_all();}; //set data and notify
  12. T get(){boost::unique_lock<boost::mutex> lock(mx); return data;};
  13. };