Index: icu46/source/test/threadtest/threadtest.h |
=================================================================== |
--- icu46/source/test/threadtest/threadtest.h (revision 0) |
+++ icu46/source/test/threadtest/threadtest.h (revision 0) |
@@ -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 |
+ |
Property changes on: icu46/source/test/threadtest/threadtest.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |