Mercurial > hg > orthanc
diff UnitTestsSources/MultiThreading.cpp @ 760:b2a62f22fbe8
lock abstraction
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 22 Apr 2014 13:36:51 +0200 |
parents | 0da078f3affc |
children | fc97f762834c 3f946e5c3802 |
line wrap: on
line diff
--- a/UnitTestsSources/MultiThreading.cpp Wed Apr 16 12:12:55 2014 +0200 +++ b/UnitTestsSources/MultiThreading.cpp Tue Apr 22 13:36:51 2014 +0200 @@ -3,6 +3,9 @@ #include "../Core/OrthancException.h" #include "../Core/Toolbox.h" #include "../Core/MultiThreading/ArrayFilledByThreads.h" +#include "../Core/MultiThreading/Locker.h" +#include "../Core/MultiThreading/Mutex.h" +#include "../Core/MultiThreading/ReaderWriterLock.h" #include "../Core/MultiThreading/ThreadedCommandProcessor.h" using namespace Orthanc; @@ -185,3 +188,25 @@ ASSERT_TRUE(s.find(i) != s.end()); } } + + +TEST(MultiThreading, Mutex) +{ + Mutex mutex; + Locker locker(mutex); +} + + +TEST(MultiThreading, ReaderWriterLock) +{ + ReaderWriterLock lock; + + { + Locker locker1(lock.ForReader()); + Locker locker2(lock.ForReader()); + } + + { + Locker locker3(lock.ForWriter()); + } +}