1 /******************************************************************** 2 * COPYRIGHT: 3 * Copyright (c) 1997-2009, International Business Machines Corporation and 4 * others. All Rights Reserved. 5 ********************************************************************/ 6 7 #ifndef SIMPLETHREAD_H 8 #define SIMPLETHREAD_H 9 10 #include "mutex.h" 11 12 class U_EXPORT SimpleThread 13 { 14 public: 15 SimpleThread(); 16 virtual ~SimpleThread(); 17 int32_t start(void); // start the thread 18 UBool isRunning(); // return true if a started thread has exited. 19 20 virtual void run(void) = 0; // Override this to provide the code to run 21 // in the thread. 22 void *fImplementation; 23 24 public: 25 static void sleep(int32_t millis); // probably shouldn't go here but oh well. 26 static void errorFunc(); // Empty function, provides a single convenient place 27 // to break on errors. 28 }; 29 30 #endif 31 32