Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template< typename T >
- class ThreadSafeList{
- Q_DISABLE_COPY(ThreadSafeList)
- public:
- ThreadSafeList():
- m_lock{},
- m_list{}
- {}
- virtual ~ThreadSafeList(){}
- QList<T>& lockForRead(){
- m_lock.lockForRead();
- return m_list;
- }
- QList<T>& lockForWrite(){
- m_lock.lockForWrite();
- return m_list;
- }
- //don't forget call this method after lockForRead()/lockForWrite()
- //and don't use reference to m_list after call unlock
- void unlock(){
- m_lock.unlock();
- }
- private:
- QReadWriteLock m_lock;
- QList<T> m_list;
- };
Add Comment
Please, Sign In to add comment