home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / include / xthread.h < prev    next >
Text File  |  1998-01-04  |  1KB  |  44 lines

  1. #ifndef __OOL_XTHREAD_H__
  2. #define __OOL_XTHREAD_H__
  3.  
  4. /*===========================================================================*/
  5. /* OOL ------------------- the Open Object Library ------------------- r 1.0 */
  6. /*===========================================================================*/
  7. /*                              class: XThread                               */
  8. /*                       derived from: XProcess                              */
  9. /*                        last update: 2/97                                  */
  10. /*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
  11. /*===========================================================================*/
  12.  
  13. #include "xprocess.h"
  14.  
  15.  
  16. class _export_ XThread: public XProcess
  17. {
  18.       #ifndef __WATCOMC__
  19.       friend void _Optlink StartUp(void*);
  20.       #else
  21.       friend void StartUp( void* v );
  22.       #endif
  23.    private:
  24.       LONG stackSize;
  25.    protected:
  26.       #ifndef __WATCOMC__
  27.       static int threadsRunning;
  28.       #endif
  29.       virtual void ThreadEntry( void );
  30.    public:
  31.       void Run();
  32.       virtual void Init( void ) { ;}
  33.    private:
  34.       static void RunThreads( XThread *);
  35.    public:
  36.       XThread( const LONG stack = 128000 ) { stackSize = stack; }
  37.       ULONG Resume();
  38.       ULONG Suspend();
  39.       void  Kill()   { DosKillThread( tid ); }
  40.       void Terminate( void );
  41. };
  42.  
  43. #endif
  44.