void* Thread::StartThread(void* pVoid) { // thread start function when no Runnable is involved Thread* aThread = static_cast<Thread*>(pVoid); aThread->result_ = aThread->Run(); aThread->SetCompleted(); return aThread->result_; }
void* Thread::StartThreadRunnable(void* pVoid) { // thread start function when a Runnable is involved Thread* runnableThread = static_cast<Thread*>(pVoid); runnableThread->result_ = runnableThread->runnable_->Run(); runnableThread->SetCompleted(); return runnableThread->result_; }