mythread.cpp

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

CPP
50
字号
// don't use static condition variable

/* File : mythread.cpp */
#include <iostream.h>
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include "mythread.h"
#include "MySync.h"

// MyThread
MyThread::MyThread(Thread_interface& w)
{
   worker = &w;
   error =0;
}

void* MyThread::run(void* w)
{
   ((Thread_interface *)w)->run();
}

int MyThread::Start()
{
   error = pthread_create(&id,NULL,run,(void *)worker);
   return error;
}

/*************************************/




/* Creating a thread:
       1) Create a class extends from MyThread class;
       2) implement void run(){};
       3) run Start();
 */


/* Creating a thread:
       1) Create a class extends from Thread_interface class;
       2) implement void run(){};
       3) Create a object of Thread. (named thread)
       4) thread.Start();
 */


⌨️ 快捷键说明

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