mythread.h

来自「《unix网络编程技术与分析》一书的C源程序」· C头文件 代码 · 共 42 行

H
42
字号


/*************************************************
class name : Thread_interface
function: It is base class of all threads. used by class Mythread.
****************************************************/

class Thread_interface
{
public:
virtual    void run(){}
};
  
/*******************************************************
class name : MyThread
function: Create thread and run it.
***************************************************************/
      

class MyThread : public Thread_interface
{
   Thread_interface*  worker;
   int error;
   pthread_t id;
   
static    void* run(void*);   
   
public:
   MyThread(Thread_interface& w);
   MyThread() {worker = this;}
     
   int Start();
   void Exit(void *value_ptr) { ::pthread_exit(value_ptr);}
   int Join(pthread_t thread, void **value_ptr) { error = ::pthread_join(thread, value_ptr); return error;}
   int Cancel(pthread_t target_thread){ error = ::pthread_cancel(target_thread); return error;}
   int Detach() {error = ::pthread_detach(id); return error;}
   int Detach(pthread_t thread) {error = ::pthread_detach(thread); return error;}   
   pthread_t getId() {return id;}
   int Error(){return error;}
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?