diff options
Diffstat (limited to 'Build/source/libs/icu/icu-4.8.1/test/threadtest/threadtest.h')
-rw-r--r-- | Build/source/libs/icu/icu-4.8.1/test/threadtest/threadtest.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.8.1/test/threadtest/threadtest.h b/Build/source/libs/icu/icu-4.8.1/test/threadtest/threadtest.h new file mode 100644 index 00000000000..1cb38803969 --- /dev/null +++ b/Build/source/libs/icu/icu-4.8.1/test/threadtest/threadtest.h @@ -0,0 +1,46 @@ +// +//******************************************************************** +// Copyright (C) 2002, International Business Machines +// Corporation and others. All Rights Reserved. +//******************************************************************** +// +// File threadtest.h +// +#ifndef ABSTRACTTHREADTEST_H +#define ABSTRACTTHREADTEST_H +//------------------------------------------------------------------------------ +// +// class AbstractThreadTest Base class for threading tests. +// Use of this abstract base isolates the part of the +// program that nows how to spin up and control threads +// from the specific stuff being tested, and (hopefully) +// simplifies adding new threading tests for different parts +// of ICU. +// +// Derived classes: A running test will have exactly one instance of a +// derived class, which will persist for the duration of the +// test and be shared among all of the threads involved in +// the test. +// +// The constructor will be called in a single-threaded environment, +// and should set up any data that will need to persist for the +// duration. +// +// runOnce() will be called repeatedly by the working threads of +// the test in the full multi-threaded environment. +// +// check() will be called periodically in a single threaded +// environment, with the worker threads temporarily suspended between +// between calls to runOnce(). Do consistency checks here. +// +//------------------------------------------------------------------------------ +class AbstractThreadTest { +public: + AbstractThreadTest() {}; + virtual ~AbstractThreadTest() {}; + virtual void check() = 0; + virtual void runOnce() = 0; +}; + +#endif // ABSTRACTTHREADTEST_H + |