thread.cc
来自「AVR 单片机程序设计用到的模拟器」· CC 代码 · 共 52 行
CC
52 行
/* $Id: Thread.cc,v 1.5 2000/09/24 12:57:54 pure Exp $ */#include "Thread.h"#include <unistd.h>void* Thread::kickoff(void* obj) { Thread* thread = (Thread*)obj; thread->sem.wait(); thread->action(); pthread_detach(thread->thread); return obj;}Thread::Thread(){ if (pthread_create(&thread, NULL, kickoff, this)) throw; pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);} Thread::~Thread(){ cancel(); join();} void Thread::join(){ pthread_join(thread, NULL);} void Thread::cancel(){ pthread_cancel(thread);}void Thread::arise(){ sem.signal();}void Thread::yield(){ usleep(1);}Thread::operator pthread_t* (){ return &thread;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?