thread.cpp

来自「Linux下多线程的简单实例」· C++ 代码 · 共 50 行

CPP
50
字号
#include "thread.h"

Thread::Thread()
{}

int Thread::Start(void *arg)
{
    Arg(arg); //store user data
    int code = pthread_create(&PthreadId_,NULL,Thread::EntryPoint,arg);
    return code;
}

int Thread::Run(void *arg)
{
    Setup();
    //Execute(arg);
    return 1;
}

//*static*/
void * Thread::EntryPoint(void *pthis)
{
    Thread *pt = (Thread *)pthis;
    pt->Run(pt->Arg());
    delete pt;
    return (NULL);
}

void Thread::Setup()
{
    while(1)
    {
        printf("this is in Setup()\n");
        sleep(1);
    }
}

void Thread::Execute(void *arg)
{}

void * Thread::Arg() const
{
    return Arg_;
}

void Thread::Arg(void *a)
{
    Arg_ = a;
}

⌨️ 快捷键说明

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